Apache Ant 是由 Java 语言开发的工具,由 Apache 软件基金会所提供。Apache Ant 的配置文件写成 XML 容易维护和书写,而且结构很清晰。本教程将以简单的方式会向你展示如何利用 Apache ANT 来自动地构建和部署过程。在完成本教程的学习以后,你将会发现你已经具备下一阶段学习 Apache Ant 中等水平的专业知识 。
Gradle 提供了对 Ant 的优秀集成您可以在你的 Gradle 构建中,使用单独的 Ant 任务或整个 Ant 构建。事实上,你会发现在 Gradle 中使用 Ant 任务比使用 Ant 的 XML 格式更容易也更强大。你甚至可以只把 Gradle 当作一个强大的 Ant 任务脚本的工具。Ant 可以分为两层。第一层是 Ant 的语言。它提供了用于 build.xml,处理的目标,特殊的构造方法比如宏,还有其他等等的语法。
Ant 提供一些预定义的数据类型。不要将术语“数据类型”和那些在编程语言中可用的数据类型相混淆,而是将他们视作一组已经在产品中配置好的服务。下述的数据类型是由 Apache Ant 提供的。文件集文件集的数据类型代表了一个文件集合。它被当作一个过滤器,用来包括或移除匹配某种模式的文件。例如,参考下面的代码。这里,src 属性指向项目的源文件夹。
Gradle 提供了对 Ant 的优秀集成。可以在你的 Gradle 构建中,使用单独的 Ant 任务或整个 Ant 构建。事实上,你会发现在 Gradle 中使用 Ant 任务比使用 Ant 的 XML 格式更容易也更强大。你甚至可以只把 Gradle 当作一个强大的 Ant 任务脚本的工具。Ant 可以分为两层。第一层是 Ant 的语言。它提供了用于 build.xml,处理的目标,特殊的构造方法比如宏,还有其他等等的语法。
如果你已经下载并安装了 Eclipse, 你只要再做一点点事情就可以开始了。Eclipse 附带预先绑定的 Ant 插件,随时可以使用。按照以下简单的步骤,将 Ant 集成到 Eclipse 中。确保 build.xml 文件是你的 Java 项目的一部分,并且该文件的位置在项目内。通过以下步骤,启用 Ant 视图, Window > Show View > Other > Ant > Ant 。
在之前的章节中,我们已经学会了如何去打包一个应用程序以及怎样将其部署到一个文件夹中。在这个章节中,我们将要直接将 web 应用程序部署到一个应用服务器的部署文件夹中。随后,我们将添加一些 Ant 目标来启动和停止服务。让我们继续 Hello World fax web 应用程序。 这一章节是对之前的章节的一个延续,所有新的组件会用粗体突出显示。build.
我们通过 Hello World Fax Web 应用,已经琐碎地学习了 Ant 的不同方面的知识了。现在是时候把我们所学的知识都运用起来创建一个全面和完整的 build.xml 文件了。考虑下面给出的 build.properties 和 build.xml 文件:build.propertieseploy.path = c:\tomcat6\webappsbuild.xml<?xml version = "1.0"?><project name = "fax" basedir = ".
使用 Ant 创建 WAR 文件是极其简单的。这与创建 JAR 文件任务非常类似。 毕竟,WAR 文件与 JAR 文件只是两种不同的 ZIP 文件。WAR 任务是 JAR 任务的一个扩展,但是其对控制哪些文件进入 WEB-INF/classes 文件夹和生成 web.xml 文件进行了一些很好的补充。WAR 任务对指定 WAR 文件布局是非常有用的。
编译完你的 java 源文件后,接下来就构建 java 存档,例如: JAR 文件。创建 Ant 中的 JAR 文件十分简单,运用 jar 任务来生成 jar 包。在 jar 任务中常用的属性如下所示:属性 描述 basedir表示输出 JAR 文件的基目录。默认情况下,为项目的基目录。 compress表示告知 Ant 对于创建的 JAR 文件进行压缩。 keepcompression表示 project 基目录的绝对路径。
现在我们已经学习了 Ant 的数据类型,是时候在实际过程中运用所学知识了。在这一章节中,我们将会构建一个项目。这一章节的目的是创建一个 Ant build 文件,该文件能够编译 Java 源文件和将这些类文件存储在 WEB-INF\classes 文件夹下。考虑接下来构建项目的结构:数据脚本存储在 db 文件夹中。java 源文件存储在 src 文件夹中。
当你只需要对小部分属性进行设置时,可以选择直接在构建文件中设置。然而,对于大项目,最好将设置属性的信息存储在一个独立的文件中。存储属性信息在一个独立的文件中将会提供以下好处:它可以让您重复使用相同的构建文件,该文件在不同的执行环境中使用不同的属性设置。例如,构建属性文件在 DEV , TEST , 和 PROD 环境中可以独立地被维护。
Ant 构建文件是用 XML 编写的,它不能像你喜欢的编程语言那样去声明变量。然而,正如你可能已经想到的,如果允许 Ant 声明变量,如项目名称,项目源目录等,这将是非常有用的。Ant 使用属性 (property) 元素来让你能够具体说明属性。这就允许这些属性能够在不同的构建和不同的环境下发生改变。