1.<Java> 태스크
자바 애플리케이션 클래스를 실행시키는 태스크임.
<java classname="test.Main">
<arg value="-h"/>
<classpath>
<pathelement location="dist/helloproject.jar"/>
<pathelement path="${java.class.path}"/>
</classpath>
</java>
-> test 패키지의 Main 클래스를 실행한다. 클래스패스로는 ${java.class.path} 프로퍼티로
지정되어있는 디렉토리와 dist/helloproject.jar를 포함한다.
2.<javac> 태스크
<javac>는 java소스를 컴파일하는 태스크로, 아직 컴파일되지 않은 java파일이 존재하거나 혹은 .class파일이 java파일보다 이전에 컴파일된 클래스일때 컴파일한다.
<javac srcdir="${src}"
destdir="${build}"
includes="helloproject/p1/**, helloproject/p2/**"
excludes="helloproject/p1/expackage/**"
classpath="helloproject.jar"
debug="on"
/>
-> ${src}디렉토리를 컴파일하여 ${build}디렉토리에 클래스를 생성한다. helloproject/p1 이하의 모든 파일과, helloproject/p2이하의 모든 파일이 컴파일되고, helloproject/p1/expackage이하의 모든 파일은 제외되며, helloproject.jar가 클래스 패스에 추가된다.
아래와 같이 쓸 수도 있다.
<javac destdir="${build}"
classpath="helloproject.jar"
debug="on">
<src path="${src}"/>
<include name="helloproject/p1/**"/>
<include name="helloproject/p2/**"/>
<exclude name="helloproject/p1/expackage/**"/>
</javac>
<src>로 srcdir속성을 <include>와 <exclude>로 includes,excludes 속성을 대체하였다.
3.<jar> 태스크
- 클래스와 자원을 묶어 jar파일로 생성하는 태스크이다.
<jar destfile="${dist}/lib/helloproject.jar"
basedir="${build}/classes"
includes="helloproject/test/**"
excludes="**/Test.class"
/>
-> helloproject.jar 파일로 ${build}/classes밑에 있는 파일들을 묶는 예제이다. Test.class란 이름의 클래스는 제외한다.
<jar destfile="${dist}/lib/helloproject.jar">
<fileset dir="${build}/classes"
excludes="**/Test.class"
/>
<fileset dir="${src}/resources"/>
</jar>
-> fileset을 이용하여 Test.class를 제외한 모든 파일을 jar파일로 묶을때 리소스를 포함하는 예제임. resources 디렉토리에 밑에 이미지등의 파일이 존재하면 jar파일에 포함이 된다.
4.<mkdir> 태스크
<mkdir dir="${dist}/lib"/>
5.<copy> 태스크
<copy file="myfile.txt" tofile="mycopy.txt"/>
파일을 디렉토리로 복사는
<copy file="myfile.txt" todir="../some/other/dir"/>
디렉토리를 다른 디렉토리로 복사
<copy todir="../new/dir">
<fileset dir="src_dir"/>
</copy>
mapper엘리먼트를 사용해서 src_dir 디렉토리의 모든 파일 명에 .bak를 붙여서 복사
<copy todir="../backup/dir">
<fileset dir="src_dir">
<mapper type="glob" from="*" to="*.bak"/>
</copy>
6.<delete> 태스크
파일이나 파일을 포함한 디렉토리 혹은 fileset으로 추가된 파일이나 디렉토리를 삭제하는 태스크다.
<delete file="/lib/ant.jar"/>
디레토리 삭제
<delete dir="lib"/>
fileset을 사용하여 확장자가 bak인 파일을 삭제
<delete>
<fileset dir="." includes="**/*.bak"/>
</delete>
빈디렉토리도 함께 삭제
<delete includeEmptyDirs="true">
<fileset dir="build"/>
</delete>
7.<getkey> 태스크
<genkey>는 key 저장소에 key를 생성하는 태스크로 자바 1.2이상에서 지원한다.
<genkey
alias="apache-group" storepass="secret"
dname="CN=Ant Group, OU=Jakarta Division, O=Apache.org , C=US"/>
-> 아파치 그룹이란 별칭을 주고 패스워드로는 secret을 준다. dname속성을 입력한다.
dname은
<dname>
<param name="CN" value="Ant Group"/>
<param name="OU" value=Jakarta Division"/>
....
이런식으로 바꿔 쓸 수 있다.
8.<signjar>태스크
javasign명령어를 사용하여 jar파일이나 zip파일을 서명하는 태스크다.
<signjar
jar="${dist}/lib/ant.jar" alias="apache-group" storepass="secret"/>