We have some source files which have cross dependencies. For instance at
some top level there are the following two directories:

d:/mydir/subdir/java/com/av/dataobjects/*.java
d:/mydir/subdir/java/com/av/testrunner/utils/DB*.java

Some class or classes under dataobjects rely on some DB class under
testrunner/utils. So, we added to our classpath the actual path down to the
java dir, as in d:/mydir/subdir/java. If we remove all previously built
classes and rebuild using javac (not with Ant), it works. In other words, if
we are building something under dataobjects, even if it imports
DBsomething.java which has not been built yet, it will build the dependency
because of the classpath.

But if we run Ant from an ant.bat file specifying -classpath after adding
our d:/mdir/subdir/java to the classpath, we get a build error because an
import not found (one of the DB classes). The DB class is not getting built
as it would outside of Ant.

We also tried setting a property with our classpath and adding that to the
target which does the compile. That gave us the same error.

What *does* work with Ant is to do this, by using the the includes rather
than relying on the classpath pointing to the java directory.
 
 <target name="dataobjects">
    <!-- Compile the java code from ${src} into ${build} -->
    <javac srcdir="${src}" destdir="${build}"
includes="**/dataobjects/*.java         **/testrunner/utils/DB*.java"/>
 </target>

We can live with this, but I am curious why using -classpath pointing to the
java directory doesn't work.


-----Original Message-----
From: T Master [mailto:[EMAIL PROTECTED]]
Sent: Friday, December 07, 2001 3:19 PM
To: Ant Users List
Subject: Re: classpath question


People would need to see your script
Especially where your path/classpath was being sent

and more information too.


----- Original Message -----
From: "Judy Sowell" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Friday, December 07, 2001 3:27 PM
Subject: classpath question


> Hi all,
>
> We have tried several things to get Ant to allow us to add java source
files
> to the classpath, but have been unsuccessful in getting it to work.
>
> When we do a build outside of ant, just using "javac -classpath ....."
where
> classpath includes some java source directories (because of cross
> dependencies between some classes/packages), it works fine.
>
> However, if instead we run ant with -classpath (the same classpath with
some
> java source dirs), the compile fails on an import on one of the
dependencies
> on one of the source files in the classpath. We also tried setting the
> classpath inside the build.xml file. That didn't work either.
>
> We did work around this by both changing the ordering of targets and by
> using includes. But we are wondering why the above (which works with javac
> outside of Ant) doesn't seem to work. Or are we doing something
incorrectly?
>
> Thanks for any advice,
> Judy
>
>
> --
> To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
>


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to