Ant 学习笔记
ANT简介:
Apache Ant 是一个将软件编译、测试、部署等步骤联系在一起加以优化的一个构建工
具,常用于 Java 环境中的软件开发。Ant 的默认配置文件是 build.xml。
下载:
http://ant.apache.org/bindownload.cgi 、
环境搭建:
Ant需要搭建运行环境,具体的搭建方法可baidu,google
测试Ant环境是否搭建成功:
windows:运行——>cmd——>ant
看到如下信息:
Buildfile: build.xml does not exist!
Build failed
说明配置成功。
Linux:
直接输入:ant
看到如下信息:
Buildfile: build.xml does not exist!
Build failed
说明配置成功。
ANT配置常用标签简介
<project>标签
project 标签,作为 ANT 的 XML 配置文件的根元素,他拥有以下属性:
name 当前工程的名称
basedir 设置 ant 描述的根路径,一般用“.”表示当前工程目录
default 默认执行 ant 构建时执行的 target。
<description>标签
description 标签在工程的构建中没有实际的意思,它是当执行 ant –projecthelp 时候该标
签的内容会被显示出来
<property>标签
property 标签用于定义常量,可供 target 的执行中使用。不是必须,推荐使用。属性:
name 变量名称
vale 变量值(还有其他属性,用途不大,需要的时候自己查看 ant 官方文档)
<echo>标签
将标签中的数据打印到控制台。方便构建调试的时候知道程序完成了那部分功能。
<delete>标签
该标签用于删除一个文件或一组文件,其属性如下:
file 表示要删除的文件。
dir 表示要删除的目录。
includeEmptyDirs 表示指定是否要删除空目录,默认值是删除。
failonerror 表示指定当碰到错误是否停止,默认值是自动停止。
verbose 表示指定是否列出所删除的文件,默认值为不列出。
<mkdir>标签
创建一个目录,如果他的父目录不存在,也会被同时创建。其属性如下:
dir 需要创建的文件路径,该路径相对于 project 标签中的 basedir 指定的目录。
<copy>标签
该标签用于文件或文件集的拷贝,其属性如下:
file 源文件。
tofile 目标文件。
todir 目标目录。
overwrite 指定是否覆盖目标文件,默认值是不覆盖。
includeEmptyDirs 指定是否拷贝空目录,默认值为拷贝。
failonerror 指定如目标没有发现是否自动停止,默认值是停止。
verbose 指定是否显示详细信息,默认值不显示。
<copydir>、<copyfile>标签
用于复制一个文件夹的所有文件(或文件)到另一个文件夹(或文件),属性如下:
src 源文件目录
dest 目标文件目录
<fileset>标签
fileset 标签用于定义一组文件,并通常表示为<fileset>元素。不过,许多 ant 任务构建成
了 隐式的 fileset,这说明他们支持所有的 fileset 属性和嵌套元素。以下为 fileset 的属性:
dir 表示 fileset 的基目录。
casesensitive 如果为 false,那么匹配文件名时,fileset 不是区分大小写的,默认 true.
defaultexcludes 用来确定是否使用默认的排除模式,默认为 true。
excludes 是用逗号分隔的需要派出的文件模式列表。
excludesfile 表示每行包含一个排除模式的文件的文件名。
includes 是用逗号分隔的,需要包含的文件模式列表。
includesfile 表示每行包括一个包含模式的文件名。
<unjar>、<unzip>、<unwar>、<untar>标签
都是用于解压文件。解压 jar 用 unjar,解压 zip 用 unzip,以此类推。属性:
dest 解压目标目录,相对于 project 标签中 basedir 目录,也可是完整路径。
src 待解压的文件。
encoding 解压时采用的字符编码格式。
<compilerarg>标签
用于在 javac 标签用,指定 javac 编译时采用的编码
<classpath>标签
用于在 javac 标签中,指定编译时使用的 ClassPath,不须深究,有兴趣研究官方文档。
<javac>标签
该标签用于编译一个或一组 java 文件,其属性如下:
srcdir 源程序的目录。
destdir class 文件的输出目录。
include 被编译的文件的模式。
excludes 被排除的文件的模式。
classpath 所使用的类路径。也可以通过在标签内定义<classpath>标签定义。
debug 包含的调试信息。
optimize 是否使用优化。
verbose 提供详细的输出信息。
fileonerror 当碰到错误就自动停止。
<jar>标签
该标签用来生成一个 JAR 文件,其属性如下:
destfile 生成 JAR 文件名。
basedir 被归档的文件名。
includes 别归档的文件模式。
exchudes 被排除的文件模式。
<target>标签
一个项目标签下可以有一个或多个 target 标签。一个 target 标签可以依赖其他的 target
标签。例 如,有一个 target 用于编译程序,另一个 target 用于声称可执行文件。在生成可执
行文件之前必 须先编译该文件,因策可执行文件的 target 依赖于编译程序的 target。Target
的所有属性如下:
name 表示标明,这个属性是必须的。
depends 表示依赖的目标。
if 表示仅当属性设置时才执行。
unless 表示当属性没有设置时才执行。
description 描述。
Ant 的 depends 属性指定了 target 的执行顺序。Ant 会依照 depends 属性中 target 出现顺
序依次执行 每个 target。在执行之前,首先需要执行它所依赖的 target。程序中的名为 run
的 target 的 depends 属性 compile,而名为 compile 的 target 的 depends 属性是 prepare,所以
这几个 target 执 行的顺序是 prepare->compile->run。一个 target 只能被执行一次,即使有多
个 target 依赖于它。如果没有 if 或 unless 属性 target 总 会被执行。