1、什么是Ant
Ant 是一个Apache基金会下的跨平台的构件工具。
其主要功能是:实现项目的自动构建和部署,我们用到的最多的是它的编译,拷贝,复制,运行命令等功能。
2、优点
跨平台:因为ant是使用JAVA实现的,所以具有很好的跨平台性。
使用简单:Ant是由一个内置任务和可选任务组成的。运行时需要一个XML文件(构建文件)
语法清晰:Ant是通过调用target树来执行各种的task(每个task实现了特定接口对象)。由于构建文件是XML格式的文件,所以容易维护和书写,而且结构清晰
功能强大:由于Ant的跨平台性和操作简单的特点,所以可以很容易集成到一些开发环境中去。
3、Ant的安装
到ant官方网站(http://ant.apache.org)上下载ant,我使用的是1.7.1.下载解压后,增加环境变量:
ANT_HOME:C:\TDDOWNLOAD\apache-ant-1.7.1
在path环境变量中加入ant的bin目录:%ANT_HOME%\bin
如果要让ant能支持JUnit,需要将JUnit的JUnit.jar放置在ant的lib目录,并记得改变CLASSPATH中原先有关于JUnt的设定,如:%ANT_HOME%\lib\junit.jar
cmd进入命令行界面,运行ant命令,可以测试是否安装成功
4、测试
4.1、用文本编写一个HelloWorld.java程序,代码如下:
package test.ant;
public class HelloWorld{
public static void main(String[] args){
System.out.println("hello world!");
}
}
4.2、用ant完成编译和运行
建立一个build.xml文件,内容如下:
<?xml version="1.0" encoding="UTF-8" ?>
<project name="HelloWorld" default="run" basedir=".">
<property name="src" value="src"/>
<property name="dest" value="classes"/>
<property name="hello_jar" value="hello1.jar"/>
<target name="init">
<mkdir dir="${dest}"/>
</target>
<target name="compile" depends="init">
<javac srcdir="${src}" destdir="${dest}"/>
</target>
<target name="build" depends="compile">
<jar jarfile="${hello_jar}" basedir="${dest}"/>
</target>
<target name="run" depends="build">
<java classname="test.ant.HelloWorld" classpath="${hello_jar}"/>
</target>
<target name="clean">
<delete dir="${dest}"/>
<delete dir="${hello_jar}"/>
</target>
<target name="rerun" depends="clean,run">
<ant target="clean"/>
<ant target="run"/>
</target>
</project>
4.3,解释上面的配置文件
<?xml version="1.0" encoding="UTF-8" ?>,指定一下版本号和编码方式,几乎所有的XML文件的第一行都是这样.
<project name="HelloWorld" default="run" basedir=".">,ant的所有内容必须包含在project元素里面,basedir是工作的根目录,default是默认要做的事.
<property name="src" value="src"/>,指定变量
<target name="compile" depends="init">
<javac srcdir="${src}" destdir="${dest}"/>
</target>,要运行的一个命令,depends是它所依赖的target,在执行前先检查depends是否被执行过,如果执行过则直接执行name的命令,否则先执行depends
的命令.