ANT是一款自动构建工具,可以将你从繁琐的一系列动作中解脱出来。包含自己的一些核心target(一个target表示你要做什么事,target中就有ANT认识的命令,比如mkdir、delete、javac、java、ftp(需要一个支持包放入ANT环境)、jar、zip、junit),还可以运行第三方命令(比如hibernateTools),你还可以实现自己的命令(很显然需要实现一个ANT的接口)。
ANT下载完成之后直接解压即可,将ANT_HOME配置到环境变量中,${ANT_HOME}/bin放入Path,在命令行中键入ant发现没找到build.xml即表示安装运行成功。
build.xml就用于定义一系列ANT任务,根节点是一个project。下面是一个基本的模板。
<?xml version="1.0" encoding="UTF-8"?>
<project default="execute">
<!--fileset可以设定一组文件集来进行操作,dir指明文件集要进行选择的路径,
通过id可以指定这个文件的名称,在使用的时候进行直接的引入
include和exclude可以设定包含返回和排除范围**/*.*所有目录中的所有文件
-->
<fileset id="src.path" dir="src">
<include name="**/*.*"/>
<!--<exclude name="**/*.java"/>-->
</fileset>
<target name="init">
<delete dir="build"></delete>
<mkdir dir="build"/>
<mkdir dir="build/src"/>
<mkdir dir="build/classes"/>
<mkdir dir="build/dist"/>
</target>
<target name="copySrc" depends="init">
<copy todir="build/src">
<fileset
refid="src.path"></fileset>
</copy>
</target>
<target name="compile" depends="init">
<javac destdir="build/classes" srcdir="src"></javac>
</target>
<target name="jar" depends="compile">
<jar destfile="build/dist/hello.jar" basedir="build/classes">
<manifest>
<attribute name="Main-Class" value="ant.zttc.edu.cn.HelloWorld"/>
<attribute name="Build-By" value="Konghao"/>
</manifest>
</jar>
</target>
<target name="execute" depends="jar,copySrc">
<echo>基于类路径的classname来完成执行</echo>
<java classname="ant.zttc.edu.cn.HelloWorld" classpath="build/classes">
<arg value="张三"/>
<arg value="李四"/>
<arg value="王五"/>
</java>
<echo>基于jar文件执行</echo>
<java jar="build/dist/hello.jar" fork="true">
<arg value="张三"/>
<arg value="李四"/>
<arg value="王五"/>
</java>
</target>
</project>