1 编译源代码
<javac srcdir="src">
这个标签寻找src目录中以.java为拓展名的所有文件,并对他们调用javac编译器,从而在相同的目录中生成类文件。当然,将类文件放在一个单独的目录结构中通常会更清晰:可以通过添加destdir属性来让Ant做到这点
<?xml version="1.0" encoding="UTF-8"?>
<project name="myAnt" basedir=".">
<property name="compilescr" value="compilesrc">
</property>
<target name="mkdir">
<mkdir dir="${compilescr}" />
</target>
<target name="compile" depends="mkdir">
<javac srcdir="src" destdir="${compilescr}">
</javac>
</target>
</project>
2 创建jar文件
在编译java源文件之后,结果类文件通常被打包到一个JAR文件中,这个文件类似zip归档文件。每个JAR文件都包含一个清单文件,它可以指定该JAR文件的属性。
<jar destfile="package.jar" basedir="classes"/>
<?xml version="1.0" encoding="UTF-8"?>
<project name="myAnt" basedir=".">
<property name="compilescr" value="compilesrc">
</property>
<target name="mkdir">
<mkdir dir="${compilescr}" />
</target>
<target name="compile" depends="mkdir">
<javac srcdir="src" destdir="${compilescr}">
</javac>
</target>
<target name="jar" depends="compile">
<jar destfile="test.jar" basedir="${compilescr}"></jar>
</target>
</project>
提供主类等信息
jar标签有一个子标签 manifest用于指定一些jar的属性,可以在其中指定主类的信息
<manifest >
<attribute name="Built-By" value="${user.name}"/>
<attribute name="Main-Class" value="com.songxu.ant.Window"/>
</manifest>
3 复制 移动文件
- 复制和移动文件及目录
<span style="font-size:18px;"><copy file="src/com/songxu/ant/Window.java" tofile="src/2.java"></copy>
</span>
- 使用move来执行重命名 而不是拷贝
<span style="font-size:18px;"><move file="src/com/songxu/ant/Window.java" tofile="src/com/songxu/ant/Window2.java"></move>
</span>
- 指定一个目录进行拷贝
<copy file="src/com/songxu/ant/Window2.java" todir="d:\"></copy>
4 压缩与解压缩
- 压缩
<span style="font-size:24px;"><target name="zip" depends="compile">
<zip destfile="a.zip" basedir="${compilescr}"></zip>
</target>
</span>
- 解压缩
<target name="unzip" >
<unzip dest="." src="a.zip" overwrite="true">
</unzip>
</target>
5 替换文件
replace 执行文件中查找和替换操作
token 属性指定要查找的字符串,value 指定要替换的新的字符串
<target name="replace">
<replace file="replace.txt" token="jia" value="bingjia">
</replace>
</target>
6 模式匹配
*.java 当前目录下所有java文件
**/*.java 指定文件夹及其子目录下面所有的java文件
利用fileset 的include 标签 实现拷贝src目录下所有java文件的拷贝
<target name="include">
<copy todir="./include">
<fileset dir="src">
<include name="**/*.java" />
</fileset>
</copy>
</target>