ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mike Williams <mi...@cortexebusiness.com.au>
Subject Re: JBoss EJB generation using ANT
Date Wed, 29 Aug 2001 03:27:45 GMT
  Marcus> I am trying to generate my EJBs for JBoss automatically using
  Marcus> EJBDoclet and ANT.  Right now I have a couple of problems with
  Marcus> the generation of the ejb-jar.xml and also with the deployment of
  Marcus> these beans.

Firstly, you should be aware that EJBDoclet has been renamed as "XDoclet"
(also a sourceforge project), and is effectively no longer supported.  You
may wish to try XDoclet instead.

Having said that, I've got a project that still uses the original version.  
I run EJBDoclet like this:

    <target name="ejb:doclet" 
            depends="ejb:doclet:check,lib:ejbdoclet"
            unless="ejbdoclet.notrequired">
        <mkdir dir="build/ejb/java" />
        <ejbdoclet sourcepath="ejb/java" 
                   mergedir="ejb/java"
                   destdir="build/ejb/java"
                   ejbspec="1.1">
            <fileset refid="ejb:beanFiles" />
            <classpath>
                <path refid="ejbdoclet.classpath" />
                <path refid="ejb:compile.classpath" />
                <pathelement location="build/ejb/classes" />
            </classpath>
            <remoteinterface pattern="{0}"/>
            <homeinterface/>
            <entitypk pattern="{0}Key"/>
            <dataobject/>            
            <entitybmp/>
            <entitycmp/>
            <deploymentdescriptor/>
            <weblogic5/>
            <jboss typemapping="Oracle8" datasource="java:/corshopDataSource"/>
        </ejbdoclet>
    </target>

Note though that ejbdoclet generates generic deployment-descriptor names
like "ejb-jar.xml", and these are not suitable for input into <ejbjar>.  So
I end up renaming these later on ...

    <target name="weblogic6:ejb"
            depends="ejb:compile">
        <!-- Copy deployment-descriptors -->
        <mkdir dir="build/weblogic6/dd" />
        <copy file="build/ejb/java/ejb-jar.xml"
              tofile="build/weblogic6/dd/CorShop-ejb-jar.xml" />
        <copy file="build/ejb/java/weblogic-ejb-jar.xml"
              tofile="build/weblogic6/dd/CorShop-weblogic-ejb-jar.xml" />
        <copy todir="build/weblogic6/dd">
            <fileset dir="build/ejb/java" includes="*CMP.xml" />
        </copy>
        <!-- create CorShop.jar -->
        <ejbjar descriptordir="build/weblogic6/dd" srcdir="build/ejb/classes">
            <support dir="build/ejb/classes" />
            <weblogic destdir="build/weblogic6/app"
                      rebuild="false" 
                      newCMP="true">
                <classpath refid="ejb:classpath" />
                <wlclasspath refid="weblogic6:classpath" />
            </weblogic>
            <dtd publicId="-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 1.1//EN"
                 location="${basedir}/ejb/deploy/ejb-jar-1.1.dtd"/>
            <dtd publicId="-//BEA Systems, Inc.//DTD WebLogic 5.1.0 EJB//EN"
                 location="${basedir}/ejb/deploy/weblogic510-ejb-jar.dtd"/>
            <include name="CorShop-ejb-jar.xml" />
        </ejbjar>
    </target>

Hope this helps.

-- 
cheers, Mike

"Honesty is the key to a relationship. If you can fake that, you're in."
    -- Courtney Cox


Mime
View raw message