ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robert Nicholson" <rob...@elastica.com>
Subject Help with Ant problem...
Date Tue, 15 May 2001 20:33:51 GMT
I've ported the petstore 1.1.2 to weblogic 6.0 and one of the rules I've
created is

an ejbc rule

Do not try to run ejbc at deployment time in Weblogic 6 with petstore.ear it
won't work
as it cannot , at that time, correctly resolve classes across jars. So I
have to run
ejbc before deployment.

now... I'm a little confused as I have the following directory structure

jps1.1.2/src/components/build.xml
jps1.1.2/src/components/customer/src/build.xml

the first build.xml invokes the following rule

<target name="core" depends="init">
    <ant antfile="${tracer.home}/src/build.xml" dir="${tracer.home}/src"
target="core" />
    <ant antfile="${customer.home}/src/build.xml" dir="${customer.home}/src"
target="core" />
    <ant antfile="${personalization.home}/src/build.xml"
dir="${personalization.home}/src" target="core" />
    <ant antfile="${inventory.home}/src/build.xml"
dir="${inventory.home}/src" target="core" />
    <ant antfile="${signon.home}/src/build.xml" dir="${signon.home}/src"
target="core"/>
    <ant antfile="${shoppingcart.home}/src/build.xml"
dir="${shoppingcart.home}/src" target="core" />
    <ant antfile="${mail.home}/src/build.xml" dir="${mail.home}/src"
target="core" />
  </target>

So this runs ant on the customer/src/build.xml rule and it executes
this rule

customerejbjar which looks like this

<target name="customerejbjar" depends="init">
    <property name="customer.buildjardir"
value="${customer.home}/build/ejbjar"/>
    <mkdir dir="${customer.buildjardir}/META-INF"/>
    <copydir src="${customer.classbindir}" dest="${customer.buildjardir}" />
    <copydir src="${util.classbindir}" dest="${customer.buildjardir}" />
    <copyfile src="customer_ejb.xml"
dest="${customer.buildjardir}/META-INF/ejb-jar.xml" />
    <copyfile src="weblogic-ejb-jar.xml"
dest="${customer.buildjardir}/META-INF/weblogic-ejb-jar.xml" />
    <delete file="${customer.ejbjar}"/>
    <jar jarfile="${customer.ejbjar}" basedir="${customer.buildjardir}"/>
    <deltree dir="${customer.buildjardir}"/>
  </target>

All of this work fine.

${customer.ejbjar} is defined as ../build/customerEjb.jar

In this build.xml I also have

<target name="ejbc" depends="init">
  	<java classname="weblogic.ejbc" fork="no"
classpath="${weblogic.classpath}" args="-compiler javac ${customer.ejbjar}
${customer.ejbcjar}"/>
  </target>

Now.

when I execute ant or build.bat which executes ant from
jps1.1.2/src/components/build.bat I get

D:\Java\JPS11~1.2\src\components>build
Buildfile: build.xml
Project base dir set to: D:\Java\jps1.1.2\src\components
Executing Target: init
Executing Target: core
Project base dir set to: D:\Java\jps1.1.2\src\components\util\tracer\src
Project base dir set to: D:\Java\jps1.1.2\src\components\util\tracer\src
Executing Target: init
Executing Target: compile_classes
Executing Target: core
Project base dir set to: D:\Java\jps1.1.2\src\components\customer\src
Project base dir set to: D:\Java\jps1.1.2\src\components\customer\src
Executing Target: init
Executing Target: compile_util_classes
Executing Target: compile_classes
Executing Target: customerejbjar
Created dir: D:\Java\jps1.1.2\src\components\customer\build\ejbjar\META-INF
Copying 48 files to D:\Java\jps1.1.2\src\components\customer\build\ejbjar
Copying 1 files to D:\Java\jps1.1.2\src\components\customer\build\ejbjar
Deleting: D:\Java\jps1.1.2\src\components\customer\build\customerEjb.jar
Building jar: D:\Java\jps1.1.2\src\components\customer\build\customerEjb.jar
Deleting: D:\Java\jps1.1.2\src\components\customer\build\ejbjar
Executing Target: ejbc
ERROR: ejb-jar file: ../build/customerEjb.jar could not be opened.

D:\Java\JPS11~1.2\src\components>

If I cd into the customer component directory

ie. jps1.1.2\src\components\customer\src

and run ant

I get

D:\Java\JPS11~1.2\src\components\customer\src>build
Buildfile: build.xml
Project base dir set to: D:\Java\jps1.1.2\src\components\customer\src
Executing Target: init
Executing Target: compile_util_classes
Executing Target: compile_classes
Executing Target: customerejbjar
Created dir: D:\Java\jps1.1.2\src\components\customer\build\ejbjar\META-INF
Copying 48 files to D:\Java\jps1.1.2\src\components\customer\build\ejbjar
Copying 1 files to D:\Java\jps1.1.2\src\components\customer\build\ejbjar
Deleting: D:\Java\jps1.1.2\src\components\customer\build\customerEjb.jar
Building jar: D:\Java\jps1.1.2\src\components\customer\build\customerEjb.jar
Deleting: D:\Java\jps1.1.2\src\components\customer\build\ejbjar
Executing Target: ejbc

...

Why is there a difference in the way the paths are seen here?

NOTE: that when runing the customerejbjar rule from

jps1.1.2\src\components it correctly builds the customerEjb.jar in the build
directory so why can't it find that same file when I want to run ejbc rule?




Mime
View raw message