原文地址:http://blog.csdn.net/x03570227/article/details/2505245
本文进行了整理,选取了最常用的部分。。
一、Project
<project>
属性 描述 是否必须
default 要运行的默认目标 Y
name 项目名 N
basedir 基目录 N
description 项目描述 N
例如:
<project name=”Hello” default=”compile” basedir=”.” Description=”Hello,World build file”>
</project>
‘.’代表的是build.xml所在的目录
可以嵌套的标签<description><target><property>
二、Targets
<targets>
属性 描述 是否必须
name 目标名 Y
depends 依赖列表 N
if 指定属性被设置时执行 N
unless 当指定属性未被设置时执行 N
description 目标描述 N
例如:
<target name=”compile” depends=”init” description =”Compile all sources”>
</targets>
depends意思是在执行这个部分之前要执行的部分。
三、Tasks
<buildnumber> 从文件中读取构建的计数器每构建一次计数器加一写回文件
属性 描述 是否必须
file 读取的属性默认build.number N
例如:
<buildnumber file=”buildnum.txt” />
<copy>拷贝一个文件使用file属性,拷贝一组文件使用<fileset>元素嵌套
属性 描述 是否必须
file 源文件名 Y,除非使用fileset
tofile 目标文件名 Y,除非使用 todir
todir 目标目录 Y,如果多于1个文件
overwrite 覆盖较新的目标文件 N,默认false
includeEmptyDirs 拷贝空目录 N,默认true
failonerror 文件未发现停止构建 N,默认true
verbose 列出拷贝文件 N,默认false
例如:
《copy file=”log4j.properties” todir=”bin” /》
<delete>删除一个文件使用file属性,一组文件用《fileset》元素嵌套或目录用directory属性
属性 描述 是否必须
file 要删除的文件 Y,除非是dir或fileset
dir 要删除的目录 Y,除非file fileset
verbose 删除文件列表 N,默认false
failonerror 有错误停在 N,默认true
includeEmptyDirs 删除的目录当fileset指定 N,默认false
例如:
<delete file=”ant.log” />
<delete dir=”temp” />
<jar>将一组文件压缩为一个jar文件
属性 描述 是否必须
destfile Jar文件名 Y
basedir 要打包的目录 N
includes 包含的文件 N
excludes 排除的文件 N
例如:
<jar destfile=”dist/persistence.jar” basedir=”bin” includes=”org/ecli/persis/**,org/ecli/astr/**” excludes=”*Text*.class” />
<jar destfile="dist/persistence.jar">
<include name="**/*.class"/>
<exclude name="**/*Test*"/>
</jar>
<java> 可以嵌套的元素>classpath>用来替代classpath属性
属性 描述 是否必须
classname 要运行的类名 Y,除非指定jar
jar 执行的jar Y,除非指定clsssname
classpath 使用的类路径 N
fork 是否使用较新的JVM N,默认false
failonerror 错误发生是否停止 N,默认false
output 输出文件 N
append 追加或覆盖默认文件 N
例如:
<java classname="HelloWorld"/>
<java classname="Add" classpath="${basedir}/bin">
<arg value="100"/>
<arg value="200"/>
</java>
<javac> 编译java文件 可以嵌套的元素<classpath><jar>
属性 描述 是否必须
srcdir 源目录 Y,除非src使用
destdir 输出目录 N
includes 包含的编译文件 N,默认包含所有java文件
excludes 忽略的文件 N
classpath 使用的类路径 N
debug 是否包含调试信息 N,默认false
optimize 使用优化 N,默认false
verbose 提供verbose输出 N
failonerror 错误发生是否停止 N,默认true
例如:
<javac srcdir="src" destdir="bin"/>
<javac srcdir="${basedir}" destdir="bin"
includes="org/eclipseguide/persistence/**"
excludes="**/*Test*">
<classpath>
<pathelement path="${java.class.path}"/>
<pathelement location=
"D:/log4j/jakarta-log4j-1.2.8/dist/lib/log4j-1.2.8.jar"/>
</classpath>
</javac>
<mkdir>创建目录
属性 描述 是否必须
dir 要建立的目录 Y
<mkdir dir="dist/doc"/>
四、Properties
可以把属性写在一个文件中,用《property file=”build.properties”》指定并读取
# build.properties
junit_home=D:/junit/junit3.8.1
log4j_home=D:/log4j/jakarta-log4j-1.2.8
可以这样使用:
<property file="build.properties"/>
五、fileset
《fileset》中的通配符:
‘?’ 任何一个字符
‘*’0个或多个字符
‘**’0个或多个目录
属性 描述 是否必须
dir 目录 Y
includes 包含文件 N
excludes 排除文件 N
例如:
<fileset dir="src/org/eclipseguide/astronomy"
includes="**/*.java"
excludes="**/*Test*"/>
<fileset dir="src/org/eclipseguide/astronomy/">
<include name="**/*.java"/>
<exclude name="**/*Test*"/>
</fileset>
六、classpath
属性 描述 是否必须
path 路径 N
location 独立文件或目录 N
例如:
<classpath path="bin"/>
<classpath>
<pathelement path="${java.class.path}"/>
<pathelement location="${junit_path}"/>
<pathelement location="${log4j_path}"/>
</classpath>