1.简单使用
Ant的构建文件是基于XML编写的,默认名称为build.xml
<?xml version="1.0" encoding="UTF-8"?>
<project name="helloWorld">
<target name="sayHelloWorld">
<echo message="Hello,Amigo"/>
</target>
</project>
运行:
ant sayHelloWorld
2.关键元素:
project元素:
name属性
用于指定project元素的名称。
default属性
用于指定project默认执行时所执行的target的名称。
basedir属性
用于指定基路径的位置。该属性没有指定时,使用Ant的构件文件的附目录作为基准目录。
<?xml version="1.0" encoding="UTF-8"?>
<project name="projectStudy" default="sayBaseDir" basedir="/usr/local/Cellar/ant/1.10.6">
<target name="sayBaseDir">
<echo message="The base dir is: ${basedir}"/>
</target>
</project>
在这里定义了default属性的值为sayBaseDir,即 当运行ant命令时,若未指明执行的target时,默认执行的target的sayBaseDir,同时还定义了basedir属性的值
target元素:
Ant的基本执行单元,它可以包含一个或多个具体的任务。多个target可以存在相互依赖关系。它有如下属性:
name属性
指定target元素的名称,这个属性在一个project元素中是唯一的。我们可以通过指定target元素的名称来指定某个target。
depends属性
用于描述target之间的依赖关系,若与多个target存在依赖关系时,需要以“,”间隔。Ant会依照depends属性中target出现的顺序依次执行每个target。被依赖的target会先执行。
if属性
用于验证指定的属性是否存在,若不存在,所在target将不会被执行。
unless属性
该属性的功能与if属性的功能正好相反,它也用于验证指定的属性是否存在,若不存在,所在target将会被执行。
description属性
该属性是关于target功能的简短描述和说明。
<?xml version="1.0" encoding="UTF-8"?>
<project name="targetStudy">
<target name="targetA" if="ant.java.version">
<echo message="Java version:${ant.java.version}"/>
</target>
<target name="targetB" depends="targetA" unless="amigo">
<description>a depend example!</description>
<echo message="The base dir is:${basedir}"/>
</target>
</project>
3.利用Ant构建和部署Java工程
新建工程目录,在此目录下放置在src目录,在src下编写java代码
在工程目录下新建build.xml文件
执行ant命令
<?xml version="1.0" encoding="UTF-8"?>
<project name="javacTest" default="compile" basedir=".">
<target name="clean">
<delete dir="build"/>
</target>
<target name="compile" depends="clean">
<mkdir dir="build/classes"/>
<javac srcdir="src" destdir="build/classes"/>
</target>
</project>
4.使用Ant运行Java程序
<?xml version="1.0" encoding="UTF-8"?>
<project name="javacTest" default="run" basedir=".">
<target name="clean">
<delete dir="build"/>
</target>
<target name="compile" depends="clean">
<mkdir dir="build/classes"/>
<javac srcdir="src" destdir="build/classes"/>
</target>
<target name ="run" depends="compile">
<java classname="HelloWorld">
<classpath>
<pathelement path="build/classes"/>
</classpath>
</java>
</target>
</project>
5.使用Ant的jar任务生成jar文件
<?xml version="1.0" encoding="UTF-8"?>
<project name="javacTest" default="jar" basedir=".">
<target name="clean">
<delete dir="build"/>
</target>
<target name="compile" depends="clean">
<mkdir dir="build/classes"/>
<javac srcdir="src" destdir="build/classes"/>
</target>
<target name ="run" depends="compile">
<java classname="HelloWorld">
<classpath>
<pathelement path="build/classes"/>
</classpath>
</java>
</target>
<target name="jar" depends="run">
<jar destfile="helloworld.jar" basedir="build/classes">
<manifest>
<attribute name="Main-class" value="HelloWorld"/>
</manifest>
</jar>
</target>
</project>
6.最终效果如下: