ejb jar build file
adini Oct 26, 2004 8:42 AM
hello ,
I have got some difficulties in trying to build my ejb jar file
I use ant and the ejbjar task provided with it
but each time a build I have got the following error :
C:\Java\Workspace\JFDF\com\iratensolutions\api\oriadeapi>ant
Buildfile: build.xml
clean:
[delete] Deleting directory C:\Java\Workspace\JFDF\com\iratensolutions\api\or
iadeapi\classes
init:
[mkdir] Created dir: C:\Java\Workspace\JFDF\com\iratensolutions\api\oriadeap
i\classes
compile:
[javac] Compiling 10 source files to C:\Java\Workspace\JFDF\com\iratensoluti
ons\api\oriadeapi\classes
[javac] Compiling 1 source file to C:\Java\Workspace\JFDF\com\iratensolution
s\api\oriadeapi\classes
oriadeapijar:
[ejbjar] Unable to locate jboss cmp descriptor. It was expected to be in C:\J
ava\Workspace\JFDF\com\iratensolutions\api\oriadeapi\jaws.xml
[ejbjar] building oriadeapi.jar with 12 files
BUILD FAILED
java.lang.NullPointerException
at org.apache.tools.ant.taskdefs.optional.ejb.GenericDeploymentTool.writ
eJar(GenericDeploymentTool.java:788)
at org.apache.tools.ant.taskdefs.optional.ejb.GenericDeploymentTool.proc
essDescriptor(GenericDeploymentTool.java:479)
at org.apache.tools.ant.taskdefs.optional.ejb.EjbJar.execute(EjbJar.java
:640)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:306)
at org.apache.tools.ant.Task.perform(Task.java:401)
at org.apache.tools.ant.Target.execute(Target.java:338)
at org.apache.tools.ant.Target.performTasks(Target.java:365)
at org.apache.tools.ant.Project.executeTarget(Project.java:1237)
at org.apache.tools.ant.Project.executeTargets(Project.java:1094)
at org.apache.tools.ant.Main.runBuild(Main.java:669)
at org.apache.tools.ant.Main.startAnt(Main.java:220)
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:215)
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:90)
Total time: 4 seconds
java.lang.NullPointerException
at org.apache.tools.ant.taskdefs.optional.ejb.GenericDeploymentTool.writ
eJar(GenericDeploymentTool.java:788)
at org.apache.tools.ant.taskdefs.optional.ejb.GenericDeploymentTool.proc
essDescriptor(GenericDeploymentTool.java:479)
at org.apache.tools.ant.taskdefs.optional.ejb.EjbJar.execute(EjbJar.java
:640)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:306)
at org.apache.tools.ant.Task.perform(Task.java:401)
at org.apache.tools.ant.Target.execute(Target.java:338)
at org.apache.tools.ant.Target.performTasks(Target.java:365)
at org.apache.tools.ant.Project.executeTarget(Project.java:1237)
at org.apache.tools.ant.Project.executeTargets(Project.java:1094)
at org.apache.tools.ant.Main.runBuild(Main.java:669)
at org.apache.tools.ant.Main.startAnt(Main.java:220)
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:215)
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:90)
C:\Java\Workspace\JFDF\com\iratensolutions\api\oriadeapi>
here is my build.xml file
<?xml version="1.0"?> <project name="Oriade EJB API with JBoss 4.0" default="install" basedir="."> <!-- build.properties hold the properties that can be customized --> <property file="build.properties" /> <!-- some properties are build from environment variables --> <property environment="myenv"/> <property name="jboss.home" value="${myenv.JBOSS_HOME}" /> <property name="classes.root" value="${myenv.CLASSES_ROOT}" /> <property name="jboss.server.dir" value="${jboss.home}/server/default" /> <property name="jboss.deploy.dir" value="${jboss.server.dir}/deploy" /> <!-- Path used by ant --> <property name="src.dir" value=".." /> <property name="classes.dir" value="./classes" /> <property name="classes.dir" value="../classes" /> <!-- All required path --> <property name="lib.dir" value="${jboss.server.dir}/lib" /> <property name="verbose" value="true"/> <property name="root.dir" value="../../../.."/> <property name="apisrc.dir" value="${root.dir}/com/iratensolutions/api" /> <property name="tools.user.dir" value="${root.dir}/com/iratensolutions/tools/user"></property> <!-- All required Jars --> <property name="jaxb-api.jar" value="${jonas.base}/lib/ext/jaxb-api.jar" /> <property name="jaxb-impl.jar" value="${jonas.base}/lib/ext/jaxb-impl.jar" /> <property name="namespace.jar" value="${jonas.base}/lib/ext/namespace.jar" /> <property name="relaxngDatatype.jar" value="${jonas.base}/lib/ext/relaxngDatatype.jar" /> <property name="xsdlib.jar" value="${jonas.base}/lib/ext/xsdlib.jar" /> <property name="jdom1.jar" value="${jonas.base}/lib/ext/jdom1.jar" /> <property name="struts.jar" value="../webGUI/WEB-INF/lib/struts.jar" /> <property name="jakarta-oro-2.0.7.jar" value="${jonas.base}/lib/ext/jakarta-oro-2.0.7.jar" /> <!--<property name="client.jar" value="${lib.dir}/client.jar" />--> <property name="quartz.jar" value="${jonas.base}/lib/ext/quartz.jar" /> <property name="jboss-j2ee.jar" value="${lib.dir}/jboss-j2ee.jar" /> <!-- The classpath to be used to compile --> <path id="base.classpath"> <!-- General dir --> <pathelement location="${classes.dir}" /> <pathelement location="${root.dir}" /> <!-- Jaxb needed libs --> <pathelement location="${jaxb-api.jar}" /> <pathelement location="${jaxb-impl.jar}" /> <pathelement location="${jaxb-libs.jar}" /> <pathelement location="${namespace.jar}" /> <pathelement location="${relaxngDatatype.jar}" /> <pathelement location="${xsdlib.jar}" /> <!-- Jonas libs --> <pathelement location="${jboss-j2ee.jar}" /> <!-- Tools libs --> <pathelement location="${jdom1.jar}" /> <pathelement location="${struts.jar}" /> <pathelement location="${jakarta-oro-2.0.7.jar}" /> <pathelement location="${quartz.jar}" /> </path> <!-- Use the DTD --> <target name="mydtd" description="rebuild ./build.dtd for DOCTYPE"> <antstructure output="build.dtd"/> </target> <!-- Directories building --> <target name="init" depends="clean"> <mkdir dir="${classes.dir}" /> <copy todir="${jboss.deploy.dir}"> <fileset dir="${src.dir}"> <include name="*.jar" /> </fileset> </copy> </target> <!-- Delete the generated directories --> <target name="clean" description="Removes all the generated files or directories"> <delete dir="${classes.dir}" /> </target> <!-- Compilation --> <target name="compile" description="Compile the Oriade classes" depends="init" > <javac srcdir="${apisrc.dir}" destdir="${classes.dir}" debug="on"> <classpath refid="base.classpath" /> </javac> <javac srcdir="${tools.user.dir}" destdir="${classes.dir}" debug="on"> <classpath refid="base.classpath" /> </javac> </target> <!-- Deploying ejbjars via ejbjar task --> <target name="oriadeapijar" description="Build and deploy the ejb-jars" depends="compile"> <ejbjar naming="directory" srcdir="${classes.dir}" descriptordir="${src.dir}" dependency="full"> <dtd publicId="-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" location="${jboss.home}/docs/dtd/ejb-jar_2_0.dtd" /> <jboss destdir="${src.dir}" suffix=".jar" > </jboss> <include name="**/*.xml"/> <exclude name="**/jonas-*.xml"/> <exclude name="**/build.xml" /> </ejbjar> </target> <!-- JAR file generation --> <target name="install" description="Build and install the ejb-jars" depends="oriadeapijar" > <!-- Copy ejbjars files in JBOSS --> <copy todir="${jboss.deploy.dir}"> <fileset dir="${src.dir}"> <include name="*.jar" /> </fileset> </copy> </target> </project>
the problem seems to come from the oriadeapijar target with the jboss ejbjar task but I can't figure it out alone
if someone can help
Thanks in advance