You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ant.apache.org by Mark Wehby <mw...@TRIPLEI.COM> on 2003/03/21 18:29:12 UTC

ejbjar class not found exception

    I am not sure how familiar you are Ant 1.5 and ejbjar.  Below is what my
ant target looks like.  You will notice the ugly support tag.  Let me
explain.  The entity beans in the application have a class they return
called <ejbname>ValueObject.java.  So, if I set the dependency="full", I
don't need the <support> tag because the <ejbname>ValueObject.java class is
pulled into the jar file , than the weblogic ejbc is run.  Everything works,
but I have the same .class files in all the ejbs.  When I set the
dependency="super" without the <support> tag, I get an ant exception,
NoClassDefFound for the <ejbname>ValueObject class.  I have thought of two
approaches, one is to somehow use the support tag, but I can't figure out
how to make this work in such a way that it only pulls in the specific
<ejbname>ValueObject for a given ejb, not all <ejbname>ValueObjects.  The
second approach I thought of is to somehow modify the given ejb-jar.xml file
for the ejb.  That is what the dependency tag looks at anyway.  I just can't
figure out how to modify it.


<!-- Create the ejb archive -->

<target name="ejbjar">

<echo message="*** creating ejb archives ***"/>

<ejbjar srcdir="${classes.dir}"

descriptordir="${metadata.dir}"

manifest="${metadata.dir}/MANIFEST.MF"

destdir="${ear.staging.dir}"

genericjarsuffix=".jar"

dependency="super">

<!-- <support dir="${classes.dir}" includes="**/*CompanyValue*.*"/> -->


<weblogic destdir="${ear.staging.dir}"

classpath="${classes.dir}"

wlclasspath="${jars.for.classpath}"/>

<include name="*-ejb-jar.xml"/>

<dtd publicId="-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 1.1//EN"

location="${lib.dir}/ejb-jar_1_1.dtd"/>

<dtd publicId="-//BEA Systems, Inc.//DTD WebLogic 6.0.0 EJB//EN"

location="${lib.dir}/weblogic-ejb-jar.dtd"/>

</ejbjar>

</target>