eg:
<?xml version="1.0"?> <project name="helloWord"> <target name="sayHelloWord"> <echo message="Hello word!"/> </target> </project>运行效果:
sayHelloWord为要执行的任务(target)。
build.xml是ant默认寻找的配置文件,当你的文件名不是它的时候,需要这样执行。
eg:
ant -f hello.xml sayHelloWord
<pre name="code" class="plain">ant -file hello.xml sayHelloWord
<pre name="code" class="plain">ant -buildfile hello.xml sayHelloWord(word拼错是个人习惯。。。)
1.project是ant的根元素,每个xml至少包含一个project。每个project下可包含多个他target元素。
project元素有一些常用是属性:
(1)name 指定project的名字
(2)default 指定默认执行的target的名称。
(3)basedir 指定基准路径的位置,若没有指定,则使用xml的目录作为基准目录。
2.target是ant的具体执行单元,包含一个或者多个可执行的任务。多个人物之间可以有相互依赖关系。
target也有一些属性:
(1)name 指定target的名字,在一个project中是唯一的。
(2)depends用于描述target之间的依赖关系,如果有多个依赖关系需要用逗号隔开,ant将根据出现顺序来一次执行性target。被依赖的target先执行。
(3)if 用于验证指定的属性是否存在,若不存在,则target不能被执行。
(4)unless 与if相反,若不存在,则target可以被执行。
(5)description 是关于target功能的简单描述。
eg:
<?xml version="1.0"?> <project name="helloWord" default="sayHelloWord"> <target name="sayHelloWord" depends="condition"> <echo message="Hello word!"/> </target> <target name="condition"> <echo message="this is condition"/> </target> </project>执行结果:
由于sayHelloWord依赖于condition,所以执行sayHelloWord前会先执行condition。
3.property 可以看做是参数的定义。project的属性的定义可以用property定义,也可以在ant外部定义。若要引用外部文件,例如:param.property,则这样引入:<property file="param.property"/>
property内设置的‘参数’,可以通过将‘参数’名放在“${”和“}”之间来引用它的值。
eg:
<?xml version="1.0"?> <project name="helloWord" default="say"> <property name="name" value="end"/> <property name="age" value="24"/> <target name="say"> <echo message="Hello word! My name is ${name}, i am <span style="white-space:pre"> </span>${age} years old."/> </target> </project>运行结果:
<copy file="hello.xml" tofile="E:/hello1.xml"/>
<copy todir="E:\testand"> <span style="white-space:pre"> </span><fileset dir="../testant"/> </copy>2.delete
<delete file="test.txt"/>
<delete dir="photo"/>3.mkdir
<mkdir dir="newdir"/>4.move
<move file="orifile" tofile="destfile"/>
<move file="orifile" todir="destdir"/>
<move todir="newdir"> <span style="white-space:pre"> </span><fileset dir="olddir"> </move>5.echo
<target name="say"> <echo message="test message" file="1.txt" append="true"/> </target>
1.用ant的javac任务编译Java程序。
eg:
<?xml version="1.0"?> <project name="javactst" default="compile" basedir="."> <target name="clean"> <delete dir="classes"/> </target> <target name="compile"> <mkdir dir="classes"/> <javac srcdir="src" destdir="classes"/> </target> </project>每次编译前,删除掉classes这个目标目录。然后再编译src内的源码,将编译好的class放到destdir中。
2.java任务运行java程序。
eg:
<?xml version="1.0"?> <project name="javactst" default="run" basedir="."> <target name="clean"> <delete dir="classes"/> </target> <target name="compile" depends="clean"> <mkdir dir="classes"/> <javac srcdir="src" destdir="classes"/> </target> <target name="run" depends="compile"> <java classname="Hello"> <classpath> <pathelement path="classes"/> </classpath> </java> </target> </project>运行编译好的Hello这个类。
3.用ant的jar任务声称jar文件。
<?xml version="1.0"?> <project name="javactst" default="jar" basedir="."> <target name="clean"> <delete dir="classes"/> </target> <target name="compile" depends="clean"> <mkdir dir="classes"/> <javac srcdir="src" destdir="classes"/> </target> <target name="jar" depends="compile"> <jar destfile="hello.jar" basedir="classes"> <manifest> <attribute name="Main-class" value="Hello"/> </manifest> </jar> </target> </project>将编译好的工程打包成jar文件。