Apache Ant 教程

一、Ant简介
Ant是java语言开发的工具,配置文件写成xml,容易维护和书写,结构简单。

构建+部署包含的工作:
1、编译代码
2、封装二进制文件
3、在测试服务器上部署二进制文件
4、测试改变
5、代码拷贝并移动

Ant的特点:
Ant 是最完整的基于 Java 语言开发的构建和部署工具。
Ant 具有平台无关性,可以处理平台特有的属性,诸如文件分隔符。
Ant 还可以用来执行平台特有的任务,比如使用 touch 命令修改一个文件的修改时间。
Ant 脚本是用 XML 来完成的。如果你已经对 XML 有所了解,那么你学习 Ant,将会比较得心应手。
Ant 擅长自动完成重复任务。
Ant 开始需要一系列的预先定义好的任务。
Ant 提供了开发自定义任务的接口。
Ant 可以很容易从命令行调用,并且它能够很好地集成免费和商用的集成开发环境。

二、Ant构建文件
1、Ant的构建文件默认为build.xml,放在项目顶层目录。但是不必须。
2、构建文件的项目元素 有 3 个属性:

3、构建文件的目标元素的属性

4、注意事项:
在 xml 文件的声明前面没有任何空行或者空格

三、Ant属性
1、Ant使用属性 (property) 元素来让你能够具体说明属性,这就允许这些属性能够在不同的构建和不同的环境下发生改变。
预定义属性

2、Ant属性文件
当你只需要对小部分属性进行设置时,可以选择直接在构建文件中设置。然而,对于大项目,最好将设置属性的信息存储在一个独立的文件中。
存储属性信息在一个独立的文件中将会提供以下好处:
它可以让您重复使用相同的构建文件,该文件在不同的执行环境中使用不同的属性设置。例如,构建属性文件在 DEV , TEST , 和 PROD 环境中可以独立地被维护。
当你事先不知道属性的值时(例如,在一个实际的环境中),这样处理是有益的。这样允许你在知道属性值后,在其他环境中执行生成 (build) 操作。
一般情况下,属性文件被命名 build.properties 与build.xml存放在同一目录层。可以基于部署环境 ——比如: build.properties.dev 和 build.properties.test 创建多个 build.properties 文件。
3、Ant的内置属性

四、Ant数据类型
1、文件集:文件集的数据类型代表了一个文件集合。它被当作一个过滤器,用来包括或移除匹配某种模式的文件。
2、模式集合:一个模式集合指的是一种模式,基于这种模式,能够很容易地过滤文件或者文件夹。模式可以使用下述的元字符进行创建。
? -仅匹配一个字符
-匹配零个或者多个字符
-递归地匹配零个或者多个目录
3、文件列表:文件列表数据类型与文件集相类似,除了以下几处不同:
文件列表包含明确命名的文件的列表,同时其不支持通配符。
文件列表数据类型能够被应用于现有的或者还不存在的文件中。
4、过滤器集合:使用一个过滤器集合数据类型与拷贝任务,你可以在所有文件中使用一个替换值来替换掉一些与模式相匹配的文本。
属性 output.dir 指向项目的输出文件夹。
属性 releasenotes.dir 指向项目的发行说明文件夹。
属性 current.version 指向项目的当前版本文件夹。
拷贝任务,顾名思义,是用来将文件从一个地址拷贝到另一个地址。
5、路径:path 数据类型通常被用来表示一个类路径。各个路径之间用分号或者冒号隔开。然而,这些字符在运行时被替代为执行系统的路径分隔符。
类路径被设置为项目中 jar 文件和类文件的列表,

五、Ant编译项目
1、构建项目的结构:
数据脚本存储在 db 文件夹中。
java 源文件存储在 src 文件夹中。
images (图像),js (JavaScript 脚本),style (css 层叠样式表)存储在 war 文件夹中。
JSPs 文件存储在 jsp 文件夹中。
第三方的 jar 文件存储在 lib 文件夹中。
java 类文件存储在 WEB-INF\classes 文件夹中。
2、示例解析

src.dir 表示这个项目的源文件目录,也就是存储 java 文件的地方。
web.dir 表示这个项目的 web 文件目录,也就是存储 JSPs 文件,web.xml,css,javascript 以及其它与 web 相关的文件的地方。
build.dir 表示该项目的输出文件。
属性也可应用其他属性,在上面的例子中,build.dir 属性引用了 web.dir 属性。
控制类路径 (master-classpath) 保存类路径的相关信息。在这种情况下,它包含了构建文件夹和 jar 文件夹中的所有的类文件。
构建目标构建这些文件。首先,我们创建一个构建目录,如果该目录不存在,我们就执行 javac 命令(具体以 jdk 1.5 作为我们目标的编译环境)。 我们对 javac 任务提供源文件夹和类路径,并且通过执行 javac 任务将类文件存放在构建文件夹中。

六、Ant生成文档
1、属性:源包括源路径,源路径引用或者源文件三个属性。
源路径 (sourcepath) 指向源文件所在的文件夹,例如: src 文件夹。
源路径引用 (sourcepathref) 指向由该路径属性引用的路径,例如:delegates.src.dir 。
源文件 (sourcefiles) 在你想指定单独的文件时使用,比如指定一个逗号分隔列表。
目标路径是通过使用 destdir 文件夹来指定的。
2、为文档创建组:
源文件夹中的实用工具类
用户接口的类
数据库相关的类
3、运行 javadoc Ant 任务。它将生成 java 文档文件,并将这些文件放置于 doc 文件夹中。
七、Ant生成JAR文件
1、运用 jar 任务来生成 jar 包。jar任务中常用的属性

2、举例:

详解:web.dir 属性指出了 web 源文件的路径。
利用来自 faxapp.util 包中的类文件创建了一个名为 util.jar 的 jar 包,除名字为 Test 的类文件。输出的 jar 文件将会存放在 web 应用的配置文件 lib 中。
设置util.jar 成为可执行文件,只需在 Main-Class 元属性中加入manifest。
为了执行 jar 任务,将它包装在目标 target 中,最常见的情况是,将 jar 任务包装在配置目标或者打包目标中(build 目标或 package 目标),并执行包装后的目标。
八、Ant生成WAR文件
1、生成WAR文件与创建JAR文件任务类似。任务属性:

2、要执行 war 任务,将其封装在一个目标里面,最常见的是,构建目标或者是包目标,然后运行它们。

posted @ 2019-02-21 16:10  Victor_ddd  阅读(1669)  评论(0编辑  收藏  举报