Eclipse默认提供了对Ant的支持,在window-Preferences->ant下对Ant进行配置,Eclipse下可以对build.xml文件进行编译处理,支持错误检查、格式化。Ant脚本是有Ant任务按照一定结构组成的,主要的Ant任务有:
任务大类 | 任务 | 使用方法 | 说明 |
归档任务 | GZip BZip2 | <gzip src=”test.tar” destfile=”test.tar.gz”/> | 文件打包 |
|
| <bzip2 src=”test.tar” destfile=”test.tar.gz”/> | 文件打包 |
|
| <gzip src=”test.tar” destfile=”test.tar.gz”> <url url=”http://a/b.tar”/> </gzip>
| 将在线文件打包 |
| GUnizip BUnzip2 | <gunzip src=”test.tar.gz” dest=”test.tar”/> | 解压 |
| Zip | <zip destfile=”a.zip” basedir=”htdocs/html”/> | Htdocs/html文件全部压缩到a.zip |
|
| <zip destfile=”a.zip”> <fileset dir=”htdocs/manual”/> <fileset dir=”.”/> </zip> | 使用fileset对象 |
| Jar |
| 打包为Jar文件 |
| Tar |
| 打包为tar文件 |
| War | 注意war需要指定各种路径,例如类、配置信息等 | 打包为war文件 |
| Unjar Untar Unwar unzip | <unzip src=”${src}/a.zip” dest=”${src}”/> | 解包上述文件 |
编译任务 | Javac | <javac destdir="${run.classpath}" srcdir="${run.srcpath}" classpathref="compile.path" /> |
|
执行任务 | Java | <java classname=”test.main”> <arg value=”-h”/> </java> | 执行ajva |
| Ant | <ant antfile=”a.xml” target=”compile”/> | 编译 |
| antCall | <target name=”default”> <antcall target=”b”> <param name=”p1” value=”v1”/> </antcall> </target> <target name=”b”> <echo message=”${p1}”/> </target> | 调用统一脚本文件的其它target |
| Exec | <exec executable=”dir”/>
| 调用一个系统命令 |
| Sleep | <sleep hours=”1” minutes=”-59” milliseconds=”10”/> | 脚本暂停十毫秒 |
文件任务 | Fileset | <fileset dir=”src” casesensitive=”yes”> <include name=”**/*.java”/> <exclude name=”**/Test*”/> </fileset> | Src下所有java文件,除了Test开头的。 |
| Copy | <copy file=”a.txt” tofile=”b.txt”/> <copy file=”a.txt” todir=”a/b/c”/> | 拷贝文件 |
| Delete | <delete><fileset/></delete> | 删除 |
| Move | <move file=”file.a” tofile=”file.b”/> <move file=”file.a” todir=”a/b/c”/> | 移动 |
| Mkdir | <mkdir dir=”test”/> | 创建目录 |
| Get | <get src=http://a/b.txt dest=”help/b.txt”/> | 获取文件 |
属性任务 | Property | <property name=”foo.dist” value=”dist”/> | 指定属性值 |
|
| <property resource=”foo.properties”> | 获取属性文件中的值 |
| Available | <available name=”a.jar” property=”a.present”/> | 某资源是否存在 |
| Condition |
| 条件为真设置一个属性的值 |
其他任务 | Echo | <echo>hello</echo> <echo message=”hello”/> | 输出消息 |
| Fail | <fail message=”www”/> <fail>aaa</fail> | 失败信息 |
| Input | <input/> <input message=”a” validargs=”y,n” addproperty=”do.delete”/> | 输入框 |
| Sound | <sound><success source=”a.wav”/><fail source=”ohno.wav” loops=”2”/></sound> | 脚本情况播放音乐 |
| Import | <import file=”aa.xml”/> | 导入外部脚本 |
<project name="anttest" default="unzip">
<property name="src" value="src"/>
<property name="class" value="class"/>
<property name="pn" value="anttest"/>
<echo>${pn} ant starting</echo>
<target name="mk" depends="delete">
<mkdir dir="${src}"/>
<mkdir dir="${class}"/>
</target>
<target name="delete">
<delete dir="${src}"/>
<delete dir="${class}"/>
<delete file="${pn}.jar"/>
<delete file="${pn}.rar"/>
</target>
<target name="move" depends="mk">
<copy file="hello.java" todir="${src}"/>
</target>
<target name="compile" depends="move">
<javac srcdir="${src}" destdir="${class}" classpath="${lib}"/>
</target>
<target name="run" depends="compile">
<java classname="hello">
<classpath path="${class}"/>
</java>
</target>
<target name="jar" depends="run">
<jar basedir="${class}" destfile="${pn}.jar"/>
<zip basedir="." destfile="${pn}.rar"/>
</target>
<target name="unzip" depends="jar">
<unzip src="${pn}.rar" dest="../gong"/>
</target>
</project>