간단한 예제
<?xml version="1.0" encoding="euc-kr"?>
<project default="main" basedir=".">
<!--property setting-->
<property name="name" value="ex"/>
<property name="version" value="1.0"/>
<property name="src.dir" value="src"/>
<property name="build.dir" value="build"/>
<property name="classes.dir" value="${build.dir}/classes"/>
<property name="jar.file" value="${build.dir}/${name}.jar"/>
<property name="dist.dir" value="dist"/>
<property name="dist.file" value="${dist.dir}/${name}-${version}"/>
--> 사용할 값들을 프로퍼티로 지정하여 사용하고 있다.
<!--compile target-->
<target name="compile">
<mkdir dir="${build.dir}"/>
<mkdir dir="${classes.dir}"/>
<javac
srcdir="${src.dir}"
destdir="${classes.dir}">
</javac>
</target>
--> 컴파일 타켓으로 build.dir과 classes.dir 디렉토리를 생성하고 scr.dir에 있는 java파일을 컴파일하여 classes.dir 에 생성한다
<!--jars target-->
<target name="jars" depends="compile">
<jar
jarfile="${jar.file}"
basedir="${classes.dir}">
</jar>
</target>
--jar타겟으로 jarfile명과 경로은는 프로퍼티에서 지정한 jar.file의 value값으로 하고
jar로 묶일 대상 클래스파일들은 classes.dir에 있는 클래스 파일들로 지정한다.
<!--distrobution target-->
<target name="dist" depends="jars">
<mkdir dir="${dist.dir}"/>
<zip
destfile="${dist.file}.zip"
basedir="${build.dir}"
includes="*.jar"
/>
</target>
--> dist 타겟. 배포버젼 만들기로서 dist.dir 디렉토리를 생성 후 파일 이름은 dist.file 프로퍼티의 벨류값을 참조한다. build.dir디렉토리 아래 있는 모든 jar파일을 포함한다.
<!--main target-->
<target name="main" depends="jars"/>
--> 사용자가 타케을 지정하지 않은경우 (ant 실행시) 기본값으로 지정되는 타켓이다.
<!--clean target-->
<target name="clean">
<delete dir="${build.dir}"/>
<delete dir="${dist.dir}"/>
</target>
--> 이전의 컴파일한 클래스 파일과 배포본을 삭제하기 위한 타겟
<!--all target-->
<target name="all" depends="clean, dist"/>
--> ant all이라고 실행을 하게 되면 이 타겟은 clean과 dist에 의존하고 있으므로 최초 clean타겟이 실행되며, 그 후 dist 타겟이 실행되는데 dist는 jars에 의존되어있고 jars는 컴파일에 의존되어 있으므로 그것들이 다 실행 후에 dist 타겟이 완료되게 된다.
</project>