Is it possible to have Ant print out the classpath for a particular target? If so, how?

Daryl Spitzer picture Daryl Spitzer · Mar 12, 2010 · Viewed 46k times · Source

I'm trying to get a target to build that has quite a long list of <pathelement location="${xxx}"/> and <path refid="foo.class.path"/> elements in its <path id="bar.class.path"> element (in the build.xml file). I keep getting "package com.somecompany.somepackage does not exist" errors, and I'm having a hard time chasing down these packages and making sure I've synced them from our repository.

I'm new to this team so I'm unfamiliar with the build, but I would prefer to figure this out myself if possible (so I don't bother the other very busy team members). I have very limited experience with Ant.

I think it would save me quite a bit of time if I could have Ant print out the classpath for the target I'm trying to build.

Answer

karoberts picture karoberts · Mar 12, 2010

Use the pathconvert task to convert a path to a property

<path id="classpath">
....
</path>

<pathconvert property="classpathProp" refid="classpath"/>

<echo>Classpath is ${classpathProp}</echo>

Docs for pathconvert.