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

49,015

Solution 1

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.

Solution 2

This is even easier with versions of Ant > 1.6

<echo>${toString:classpath}</echo>

See http://ant.apache.org/manual/using.html#pathshortcut for more information

Share:
49,015

Related videos on Youtube

Daryl Spitzer
Author by

Daryl Spitzer

Father of three, husband, computer programmer (Pythonista), skeptic, atheist, podcast listener, baseball fan, Canadian (in the United States).

Updated on April 25, 2020

Comments

  • Daryl Spitzer
    Daryl Spitzer about 4 years

    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.