0 前言
全是干货的技术殿堂
文章收录在我的 GitHub 仓库,欢迎Star/fork:
Apache Ant 是由 Java 语言开发的工具,由 Apache 软件基金会所提供。Apache Ant 的配置文件写成 XML 容易维护和书写,而且结构很清晰。
1 简介
Ant 是一个 Apache 基金会下的跨平台的基于 Java 语言开发的构件工具。在我们详细了解 Apache Ant 之前, 让我们来讲解为什么构建工具是需要最先了解的。
构建工具的需求
一般情况,开发人员花费大量的时间做一般性的任务,比如:构建和部署,通常包含下面的工作:
编译代码
封装二进制文件
在测试服务器上部署二进制文件
测试改变
从一个地点拷贝代码到另一个地点
为了自动和简化上面的工作,Apache Ant 是非常有用的。这是一个基于开放的操作系统构建和部署的工具,该工具需要从命令行执行。
Apache Ant 的历史
Ant 是由 James Duncan Davidson 开发的(也就是 Tomcat 最初的开发者)。
最初是用来构建 Tomcat,被作为一个 Tomcat 的发行版的一部分。
Apach Make 工具包的复杂性与诸多问题催生了 Apache Ant。
在 2000 年的时候,Ant 被作为一个独立的项目。最新的 Apache Ant 版本是 2014 年 5 月的 1.9.4 版本。
Apache Ant 的特点
Ant 是最完整的基于 Java 语言开发的构建和部署工具。
Ant 具有平台无关性,可以处理平台特有的属性,诸如文件分隔符。
Ant 还可以用来执行平台特有的任务,比如使用 touch 命令修改一个文件的修改时间。
Ant 脚本是用 XML 来完成的。如果你已经对 XML 有所了解,那么你学习 Ant,将会比较得心应手。
Ant 擅长自动完成重复任务。
Ant 开始需要一系列的预先定义好的任务。
Ant 提供了开发自定义任务的接口。
Ant 可以很容易从命令行调用,并且它能够很好地集成免费和商用的集成开发环境。
2 下载与安装
2.1 homebrew
打开Mac上的终端,并输入下面的命令,然后回车:
brew install ant
就装好Ant了。
2.2 官网下载配置
让配置生效
source ~/.bash_profile
验证配置成功
- ant -version
3 构建文件
一般来说,Ant 的构建文件默认为 build.xml,放在项目顶层目录中。然而,并没有限制构建文件必须命名为 bulid.xml,也并不限制放在项目顶层目录中。你可以将构建文件命名为其他名字,也可以将它放在项目的其他地方。
这个教程将以简单的方式向你展示如何利用 Apache Ant 来自动地构建和部署项目的过程。在完成本教程的学习以后,你将会发现你已经具备下一阶段学习 Apache Ant 中等水平的专业知识 。
对于下面的练习,创建一个文件命名为 build.xml 的文件,存储在你电脑的任意地方 ,并包含一下的内容:
<?xml version="1.0"?> <project name="Hello World Project" default="info"> <target name="info"> <echo>Hello World - Welcome to Apache Ant!</echo> </target> </project>
注意到上面的练习中,在 xml 文件的声明前面没有任何空行或者空格。如果你在写 xml 文件的声明时加入了空行或者空格,执行 ant -build 操作时,将会出现下面的错误信息:
The processing instruction target matching “[xX][mM][lL]” is not allowed.
错误信息的意思是:处理指令目标匹配 “[xX][mM][lL]” 不被允许。所有的构建文件需要包含项目元素 (project 标签) 和至少一个目标元素 (target 标签)。
构建文件的项目元素 有 3 个属性:
目标和目标之间可以有依赖关系。举个例子,一个部署 (deploy) 目标可能依赖于封装 (package) 目标,而这个封装目标可能又依赖于编译 (compile) 目标等。依赖关系被表示成依赖属性 (depends)。例如:
<target name="deploy" depends="package"> .... </target> <target name="package" depends="clean,compile"> .... </target> <target name="clean" > .... </target> <target name="compile" > .... </target>
构建文件的目标元素有以下属性:
在上面的例子中 echo 任务主要负责打印消息。在我们的例子中,执行 echo 任务后,打印出 “hello world” 消息。
为了运行 ant 的构建文件,打开命令提示符并导航到 build.xml 建立的文件夹。输入 ant info 命令或者 ant 命令。这两种命令都可以运行,因为 info 是构建文件的默认目标。你讲会看到下面的输出信息:
C:>ant
Buildfile: C:\build.xml
info: [echo] Hello World - Welcome to Apache Ant!
BUILD SUCCESSFUL
Total time: 0 seconds
C:>