1、Ant:基于java的生成工具,作用类似于C的Make。make工具有两个缺陷:依赖UNIX的SHELL语言,所以无法跨平台;生成文件格式严格,容易导致错误。Ant基于java,所以可以跨平台,而且Ant使用XML生成文件,具有更好的适应性。
2、下载和安装:
①解压之后的文件结构如下:
bin:启动启动和运行ant的可执行命令
etc:包含一些样式单文件,通常无需理会该目录下的文件
lib:包含Ant的核心类库,以及编译和运行Ant所依赖的第三方类库。
mannual:Ant工具的相关文档,这些文档对学习使用Ant有很大的作用。
LICENSE等说明性文档。
②Ant运行需要两个环境变量:JAVA_HOME(JDK路径),AnNT_HOME(指向Ant路径)。
③配置%ANT_HOME%\bin环境变量之后,可以ant命令启动。-s选项,Ant会到上级目录搜索生成的文件,直至到达文件系统的跟路径。
④带-f选项,ant -f a.xml(显式指定使用a.xml文件作为生成文件);-q选项只输出少量的必要信息;-v输出更多信息
⑤Ant运行时还可以指定一些属性来覆盖生成文件中指定的属性值,例如-D=,则此处指定的value将会覆盖。
3、定义生成文件:使用Ant的关键就是编写生成文件,生成文件定义了各个项目的各个生成任务(以target来表示,每个target表示一个生成任务),并定义生成任务之间的依赖关系。Ant生成文件的默认名为build.xml,该文件一般放在项目的顶层目录。
①Ant生成文件根元素是,每个项目下可以定义多个生成目标,每个生成目标以一个来定义。project元素可以有多个属性,常见属性的含义定义如下:
default:指定默认target,这个属性是必需的
basedir:指定项目的指定路径,生成文件的其他相对路径都是基于该路径的
name:指定项目名,该属性仅指定一个名字,对编译、生成项目没有太大的实际作用
description:指定项目的描述信息,对编译、生成项目没有太大的实际作用。
每个target元素对应属性含义如下:
name:指定该target的名称,,该属性是必需的。同一个生成文件里不能有两个同名的target元素。
depends:该属性可以指定一个或多个target名,表示运行该target之前应先运行该depends属性所指定的一个或多个target
if:该属性指定一个属性名,用属性表示仅当设置了该属性时才执行此target
unless:该属性指定一个属性名,用属性表示仅当没有设置该属性时才执行此target
description:指定该target的描述信息。
4、Ant的任务可以分为三类
核心任务:Ant自带的任务
可选任务:来自第三方的任务,需要一个附加的JAR文件
用户自定义的任务:用户自己开发的任务
此外,project元素还可拥有如下两个重要的元素:,
5、property元素
用于定义一个或多个属性,Ant生成文件的属性类似于编程中的宏变量,都有名称和值。需要获取属性值,使用${propName}的形式。
${builddir}输出builddir的属性值,
$${builddir}=${builddir} (输出 [echo] ${builddir}=dd)
echo是Ant的核心任务之一。此外,property还可以接受如下几个常见属性:
name:指定需要设置的属性名
value:指定需要设置的属性值
resource:指定属性文件的资源名称,Ant将负责从属性文件中读取属性名和属性值
file:指定属性文件的文件名, Ant将负责从属性文件中读取属性名和属性值
url:指定属性文件url地址, Ant将负责从属性文件中读取属性名和属性值
environment:用于指定系统环境变量的前缀。通过这种方式允许Ant访问系统环境变量。
classpath:搜索指定属性文件的classpath
classpathref:搜索指定属性文件的classpath引用,
property元素读取的属性文件就是普通的属性文件,由一系列的name=value组成。
6、path元素和classpath元素
引用第三方jar包需要使用元素了
网友评论