Ant 关键元素和常用命令
文章目录
一、Ant 关键元素
1、project元素
project 元素是 Ant 构件文件的根元素, Ant 构件文件至少应该包含一个 project 元素,否则会发生错误。在每个 project 元素下,可包含多个 target 元素。
name 属性:用于指定 project 元素的名称。
default 属性:用于指定 project 默认执行时所执行的 target 的名称。
basedir 属性:用于指定基路径的位置。该属性没有指定时,使用 Ant 的构件文件的附目录作为基准目录。
2. target 元素
target为Ant的基本执行单元,它可以包含一个或多个具体的任务。多个target 可以存在相互依赖关系。
name 属性:指定 target 元素的名称,这个属性在一个 project 元素中是唯一的。我们可以通过指定 target 元素的名称来指定某个 target 。
depends 属性:用于描述 target 之间的依赖关系,若与多个 target 存在依赖关系时,需要以“,”间隔。 Ant 会依照 depends 属性中 target 出现的顺序依次执行每个 target 。被依赖的 target 会先执行。
if 属性:用于验证指定的属性是否存在,若不存在,所在 target 将不会被执行。
unless 属性:该属性的功能与 if 属性的功能正好相反,它也用于验证指定的属性是否存在,若不存在,所在 target 将会被执行。
description 属性:该属性是关于 target 功能的简短描述和说明。
3. property 元素
property元素可看作参量或者参数的定义,project 的属性可以通过 property 元素来设定,也可在 Ant 之外设定。若要在外部引入某文件,例如 build.properties 文件,可以通过如下内容将其引入:
property 元素可用作 task 的属性值。在 task 中是通过将属性名放在“ ${ ”和“ } ”之间,并放在 task 属性值的位置来实现的。
Ant 提供了一些内置的属性,它能得到的系统属性的列表与 Java 文档中 System.getPropertis() 方法得到的属性一致,这些系统属性可参考 sun 网站的说明。同时, Ant 还提供了一些它自己的内置属性,如下:
basedir: project 基目录的绝对路径;
ant.file: buildfile的绝对路径
ant.version: Ant 的版本信息
ant.project.name: 当前指定的project的名字,project的name属性值
ant.java.version: Ant 检测到的JDK版本
二、Ant 常用命令
1. copy 命令
copy主要用来对文件和目录的复制功能
例子:
1) 复制单个文件:
1
|
<copy file="original.txt" tofile="copied.txt"/> |
2) 对文件目录进行复制:
1 2 3 |
<copy todir="../dest_dir"> <fileset dir="src_dir"/> </copy> |
3) 将文件复制到另外的目录:
1
|
<copy file="source.txt" todir="/home/wenyi"/> |
2. delete 命令
对文件或目录进行删除
例子:
1) 删除某个文件:
1
|
<delete file="/home/wenyi/photos/wenyi.jpg"/> |
2) 删除某个目录:
1
|
<delete dir="/home/wenyi/photos"/> |
3) 删除所有的备份目录或空目录:
1 2 3 |
<delete includeEmptyDirs="true"> <fileset dir="." includes="**/*.bak"/> </delete> |
3. mkdir 命令
创建目录
例子:
1
|
<mkdir dir="/home/wenyi/build/classes"/> |
4. move 命令
移动文件或目录
例子:
1) 移动单个文件:
1
|
<move file="sourcefile" tofile=”destfile”/> |
2) 移动单个文件到另一个目录:
1
|
<move file="sourcefile" todir=”movedir”/> |
3) 移动某个目录到另一个目录:
1 2 3 |
<move todir="newdir"> <fileset dir="olddir"/> </move> |
5. echo 命令
该任务的作用是根据日志或监控器的级别输出信息。它包括 message 、 file 、 append 和 level 四个属性
例子:
1
|
<echo message="Hello,ANT" file="/home/wenyi/logs/ant.log" append="true"> |
文章作者 wenzhixin
上次更新 2012-06-07