• December 17, 2014
  • Ant
  • Comments Off on How to use classpath in ant?

How to use classpath in ant?

Ant provides the facility to create the classpath container which can be used later in a task. Let us understand it with the below example.

In below example, we set classpath to “build.classpath” using path element. This classpath is used in the javac task of the compile target.

In build.xml file:

1. src.dir: It specify the project source folder.
2. build.dir: It specify the project compilation output folder.
3. lib.dir: It specify the folder of the jar files.

Example explanation:

When we run the build.xml file, control first go on the project element and look for the default target. In our example mainTarget is the default target so control go on the mainTarget. Then control looks for those targets on which mainTarget depends. The mainTarget depends on compile and docs target. The docs target depends on compile target which is further depends upon clean and makedir target. So first clean target will execute followed by makedir, compile, docs and mainTarget. The javadoc task in the docs target is responsible for creating the document.



 * This program is used to find that given number is Armstrong or not.
 * @author javawithease
public class ArmstrongNumber {
	 * This method is used to find that 
         * given number is Armstrong or not.
	 * @param num
	static void armstrong(int num){
		int newNum = 0, reminder, temp;
		temp = num;
		//find sum of all digit's cube of the number.
		while(temp != 0){
			reminder = temp % 10;
			newNum = newNum + reminder*reminder*reminder;
			temp = temp/10;
		//Check if sum of all digit's cube of the number is 
		//equal to the given number or not.
		if(newNum == num){
		  System.out.println("Given no. is an armstrong no.");
		  System.out.println("Given no. is not an armstrong no.");
	public static void main(String args[]){
		//method call


<?xml version="1.0" encoding="UTF-8"?>
 <!-- Set the project name, basedir and default target to be executed-->
<project name="Ant-ClassPath-Test" default="mainTarget" basedir=".">
  <!-- Sets the properties here-->
  <property name="src.dir" location="src" />
  <property name="build.dir" location="bin" />
  <property name="lib.dir" location="lib" />
  <!-- Set the classpath-->	
  <path id="build.classpath">
	  <fileset dir="${lib.dir}">
	      <include name="**/*.jar" />
  <!-- Target for deleting the existing directories-->
  <target name="clean">
    <delete dir="${build.dir}" />
  <!-- Target for creating the new directories-->
  <target name="makedir">
    <mkdir dir="${build.dir}" />
  <!-- Target for compiling the java code-->
  <target name="compile" depends="clean, makedir">
    <javac srcdir="${src.dir}" destdir="${build.dir}" 
    	classpathref="build.classpath" >
  <!-- Defualt target to run all targets-->
  <target name="mainTarget" depends="compile">
    <description>Main target</description>


Buildfile: D:\TestWorkspace\AntClassPathTest\build.xml
   [delete] Deleting directory D:\TestWorkspace\AntClassPathTest\bin
    [mkdir] Created dir: D:\TestWorkspace\AntClassPathTest\bin
    [javac] D:\TestWorkspace\AntClassPathTest\build.xml:29: 
    warning: 'includeantruntime' was not set, defaulting to 
    build.sysclasspath=last; set to false for repeatable builds
    [javac] Compiling 1 source file to 
Total time: 771 milliseconds

Download this example.
Next Topic: How to create jar file using ant with example?
Previous Topic: How to create java document using ant in eclipse with example?

Related Topics:

How to build java project using ant in eclipse?
JAXB marshalling – convert java object to xml example.
How to create pdf file in java using iText jar?
Generics class example.
OGNL in struts 2.
Hibernate One-to-One Mapping using xml.
Send inline image in email using JavaMail API.
Quartz 2 JobListener example.


Comments are closed.