http://ant.apache.org/
版本:apache-ant-1.8.4
1、输出信息
<!-- 输出信息 --> <echo>ANT_HOME:${ant.home}</echo> <echo message="ANT_VERSION:${ant.version}"/>
2、时间戳
<!-- 时间戳 --> <tstamp /> <echo message="${DSTAMP}"/>
3、使用properties文件
<property file="build.properties" /> <!-- 使用build.properties --> <echo message="${test.key1}"/>
4、定义变量
<!-- property定义 --> <property name="test.property1" value="propertyA"/> <echo message="${test.property1}"/>
5、导入其他Build文件
<include file="included.xml"/> <!-- included.xml --> <echo message="${included}"/> ...... <import file="imported.xml"/> <!-- imported.xml --> <echo message="${imported}"/>
6、自定义Task
package com.rensanning.ant; import org.apache.tools.ant.BuildException; import org.apache.tools.ant.Task; public class MyTask extends Task { private String name; private String country; @Override public void execute() throws BuildException { System.out.println(name + " from " + country); } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getCountry() { return country; } public void setCountry(String country) { this.country = country; } }
<taskdef name="mt" classname="com.rensanning.ant.MyTask" classpath="bin"/> <!-- 自定义Task --> <mt name="rensanning" country="china"/>
7、创建文件夹
<!-- 创建文件夹 --> <mkdir dir="C:\ant\test11\10" /> <mkdir dir="C:\ant\test11\11" />
8、删除文件夹
<!-- 删除文件夹 --> <delete dir="C:\ant\test11\11" />
9、移动文件夹
<!-- 移动文件夹 --> <mkdir dir="C:\ant\folder\move" /> <move todir="C:\ant\folder\move"> <fileset dir="test/folder/move"/> </move>
10、拷贝文件夹
<!-- 拷贝文件夹 --> <mkdir dir="C:\ant\folder\copy" /> <copy todir="C:\ant\folder\copy"> <fileset dir="test/folder/copy"> <include name="**/*.java" /> <exclude name="**/*Test.java" /> </fileset> </copy>
11、删除文件
<!-- 删除文件 --> <delete file="test/file/delete/deletefile.txt" />
12、拷贝文件
<!-- 拷贝文件 --> <mkdir dir="C:\ant\file\copy" /> <copy todir="C:\ant\file\copy"> <fileset dir=""> <include name="**/*.java" /> <exclude name="**/*.class" /> </fileset> </copy>
13、文件重命名
<!-- 文件重命名 --> <move file="test/file/copy/C2.java" tofile="C:\ant\file\copy\RC2.java"/>
14、修改文件中的某个值
<!-- 修改文件中的某个值 --> <replace file="C:\ant\file\copy\RC2.java" token="args" value="param"/>
15、压缩文件
<!-- 压缩文件 --> <mkdir dir="C:\ant\file\zip" /> <zip destfile="C:\ant\file\zip\manual.zip" basedir="test/folder" includes="**/*.java" excludes="**/*Test.java"/>
16、解压文件
<!-- 解压文件 --> <mkdir dir="C:\ant\file\unzip" /> <unzip src="C:\ant\file\zip\manual.zip" dest="C:\ant\file\unzip"/>
17、移动文件
<!-- 移动文件 --> <mkdir dir="C:\ant\file\move" /> <move file="test/file/move/movefile.txt" todir="C:\ant\file\move"/>
18、设置classpath
<!-- 设置classpath --> <path id="cp"> <pathelement path="${java.class.path}"/> <fileset dir="./lib"> <include name="**/*.jar"/> </fileset> </path>
19、编译类
<!-- 编译类javac --> <javac destdir="./bin" encoding="UTF-8" deprecation="on" debug="off" fork="true" memoryMaximumSize="256m"> <src path="src"/> <src path="src2"/> <classpath refid="cp" /> </javac>
20、运行类
<!-- 运行类java --> <java classname="com.rensanning.ant.T" classpath="bin"/>
21、打包jar
<!-- 打包jar --> <mkdir dir="C:\ant\jar" /> <jar jarfile="C:\ant\jar\test.jar"> <fileset dir="./bin"> <include name="**/*" /> </fileset> </jar>
22、打包war
<!-- 打包war --> <mkdir dir="C:\ant\war" /> <war destfile="C:\ant\war\myapp.war" webxml="test/war/web.xml"> <fileset dir="test/war/html"/> <fileset dir="test/war/jsp"/> <lib dir="./lib"> <exclude name="servlet-api.jar"/> </lib> <classes dir="./bin"/> <zipfileset dir="test/war/images" prefix="images"/> </war>
23、CVS相关
<!-- CVS相关 --> <cvspass cvsroot="${cvsroot}" password="${cvs.password}" passfile="${cvs.passfile}"/> <cvs cvsroot="${cvsroot}" command="checkout" cvsrsh="ssh" package="myproject" dest="${basedir}" passfile="${cvs.passfile}"/> <cvs cvsRoot=":pserver:${cvs.user}:${cvs.password}@${cvs.server}:${cvs.reppath}" package="${cvs.module}" tag="${tag60}" dest="${checkoutdir}" />
24、执行外部文件
<!-- 执行外部文件 --> <exec executable="cmd"> <arg value="/c"/> <arg value="ant.bat"/> <arg value="-p"/> </exec>
25、SSH
<!-- SSH --> <sshexec host="" username="" password="" trust="true" command=""/>
26、SCP
<!-- SCP --> <scp todir="root:[email protected]:/usr/local/tomcat/webapps/" trust="true"> <fileset dir="dir" id="id"> <include name="include"/> <exclude name="exclude"/> </fileset> </scp>
27、文件同步
<!-- 文件同步 --> <sync todir="site"> <fileset dir="generated-site"/> </sync>
28、转换文件格式
<!-- 转换文件格式 --> <native2ascii encoding="EUCJIS" src="srcdir" dest="srcdir" includes="**/*.eucjis" ext=".java"/>
29、发送邮件
<!-- 发送邮件 --> <mail mailhost="smtp.myisp.com" mailport="1025" subject="Test build"> <from address="[email protected]"/> <to address="[email protected]"/> <message>The {buildname} nightly build has completed</message> <fileset dir="dist"> <includes name="**/*.zip"/> </fileset> </mail>