Ant classpath: How to build a classpath variable in an Ant script

Summary: This is an Ant classpath example.

Here's a quick example showing how I typically build a variable to represent my classpath in an Ant build script.

An Ant classpath example

This snippet of code below shows how I use the Ant fileset task to  create a variable named class.path by including all jar files from my lib directory using the pattern **/*.jar. This syntax can be read as "Include all files named *.jar in the lib directory and all of its sub-directories".

If you don't have any sub-directories you can just use *.jar, but I find there's no harm in leaving this as-is. It comes in handy when you're on a larger project that does have jar files in multiple subdirectories.

Here's a snippet of source code from my build.xml file that shows how I build an Ant classpath using the Ant fileset task:

<!-- create our ant classpath using the fileset task -->
<path id="class.path">

  <!-- include all jars in the lib directory and all sub-directories -->
  <fileset dir="${lib.dir}">
    <include name="**/*.jar" />


Ant classpath: discussion

This Ant build script code assumes that you have a variable named lib.dir defined before this code is run, and that variable points to your lib directory, which contains all of the jar files needed by your application. This code also creates a variable named class.path which can be referenced later in your Ant script using the variable syntax ${class.path}. (I've shown how to do all these things in other Ant examples on this website. Please look at the "Related" section of this page, or search this site for many more Ant build script examples.)