Apache Ant is a Java library and command-line tool whose mission is to drive processes described in build files as targets and extension points dependent upon each other.
Ant是一个将软件编译、测试、部署等步骤联系在一起加以自动化的工具
build.xml语法
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!--
<project>是根元素
name: 项目名
basedir: 项目根目录
default: 默认运行的<target>单元
-->
<project name="pro" basedir="." default="clean" >
<!--
<property>属性定义
-->
<property enviroment="env" /> <!-- 必须放在最前,确保可以使用编译平台的环境变量 -->
<property name="source" value="src" />
<property name="library" value="lib" />
<property name="target" value="target" />
<!--
<path>路径定义
id: 路径名
fileset: 目标文件
-->
<path id="pathId">
<fileset dir="${librarg}" include="*.jar" />
</path>
<!--
<target>是处理单元
name: 单元名
depends: 标记执行顺序
-->
<!-- ## 处理流程示例: init -> compile -> build -> clean ## -->
<!-- ## init ## -->
<target name="init">
<!--
<mkdir>创建目录
dir: 目录
-->
<mkdir dir="${target}" />
<mkdir dir="${target}/classes" />
<mkdir dir="${target}/tmp" />
</target>
<!-- ## compile ##-->
<target name="compile" depends="init">
<!--
<javac>编译
srcdir:源目录
destdir: 目标目录
include: 匹配模式
exclude: 排除模式
classpath: 类路径-->
<javac srcdir="${source}" destdir="${target}/classes" encoding="UTF-8" includeantruntime="false">
<include name="*.java" />
<classpath refid="pathId" />
</javac>
</target>
<!-- ## build ## -->
<target name="jar" depends="compile">
<jar destfile="${target}/project.jar" />
</target>
<!-- ## clean ##-->
<target name="clean" depends="jar">
<!-- <copy>拷贝
file:源文件
tofile: 目标文件
dir: 源目录
todir: 目标目录
overwrite: 覆盖
-->
<copy todir="${target}/tmp">
<fileset dir="${target}/classes">
<include name="*.class" />
</fileset>
</copy>
<!--
<delete>删除文件或目录
file:文件名
dir: 目录名
-->
<delete dir="${target}/classes" />
</target>
</project>