Ant学习(一)

介绍

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 可以很容易从命令行调用,并且它能够很好地集成免费和商用的集成开发环境。

Ant 环境搭建

Apache Ant 是 Apache 软件许可证下发布的。Apache 是一个由一个开源机构认证的完全成熟的开源许可证。Apache Ant 最新的版本包括了以下的部分:完整的源代码, 类文件和文档,这些内容都可以在 http://ant.apache.org上面找到。

安装 Apache Ant

安装 Apache Ant 的前提是你的电脑上已经下载并且安装了 Java 开发工具包(JDK)。如果电脑上没有安装的话,请按照下列的提示进行下载和安装。

  • 确保设置 JAVA_HOME 环境变量为你安装 Java 开发工具包的文件夹。
  • http://ant.apache.org 下载库。
  • 将文件解压到一个方便的地址,如 c:\folder 。可以使用 Winzip, winRAR, 7-zip 或者其他类似的工具进行解压缩操作。
  • 创建一个新的环境变量,命名为 ANT_HOME, 该环境变量指向 Ant 的安装文件夹,在这个例子中,该文件夹为 c:\apache-ant-1.8.2-bin。
  • 将 Apache Ant 的批处理文件的路径添加到 PATH 环境变量里。在这个例子中,该路径应为 c:\apache-ant-1.8.2-bin\bin 文件夹。

验证 Apache Ant 安装

为了验证你的电脑上是否已经成功安装了 Apache Ant ,你可以在命令提示符中输入 ant。你应该会看到一个与下列相似的输出:

> C:\>ant -version
Apache Ant(TM) version 1.8.2 compiled on December 20 2010

如果你没有看到与上述相类似的输出,请重新检查一下你是否已经正确按照之前的步骤进行了安装。

安装 Eclipse

这个教程也包括了 Ant 和 Eclipse 继承开发环境的整合。因此,如果你还没有安装好 Eclipse, 请下载并安装 Eclipse。

安装 Eclipse 请按照下述步骤:

  • www.eclipse.org 上面下载最新版的 Eclipse 文件。
  • 解压 Eclipse 文件到一个方便的位置,比如 c:\folder 。
  • 从 c:\eclipse\eclipse.exe 处运行 Eclipse 。

Ant 构建文件

一般来说,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 个属性:

属性描述
项目名 (name)表示项目的名称。(可选)
默认 (default)表示构建脚本默认运行的目标,即制定默认的 target。一个项目 (project) 可以包含多个目标 (target)。(必须)
基准目录 (basedir)表示当该属性没有指定时,使用 Ant 的构件文件的附目录作为基准目录。(可选)

一个目标 (target) 是一系列你想运行的任务 (tasks),运行时看成一个单元。在我们的例子中,我们用一个简单的目标来为用户提供一个有信息的消息。

目标和目标之间可以有依赖关系。举个例子,一个部署 (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>

构建文件的目标元素有以下属性:

属性描述
目标名 (name)表示目标的名称。(必须)
依赖 (depends)用于描述 target 之间的依赖关系,若与多个 target 存在依赖关系时,需要以“,”间隔。Ant 会依照 depends 属性中 target 出现的顺序依次执行每个 target。被依赖的 target 会先执行。(可选)
描述 (description)关于 target 功能的简单描述。(可选)
如果 (if)用于验证指定的属性是否存在,若不存在,所在 target 将不会被执行。(可选)
除非 (unless)该属性的功能与 if 属性的功能正好相反,它也用于验证指定的属性是否存在,若不存在,所在 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:\>

我的Demo:

<?xml version="1.0" encoding="UTF-8"?>
<!-- name:项目名,default:指定默认target,basedir(可选):用于指定基路径的位置。该属性没有指定时,使用Ant的构件文件的附目录作为基准目录 -->
<project name="Hello World Project" default="info">

	<!-- name:目标的名称,depends:用于描述 target 之间的依赖关系,description(可选):关于 target 功能的简单描述 -->
	<!-- if:验证指定的属性是否存在,存在执行。unless:不存在执行 -->
	<!-- 
		在例子中 echo 任务主要负责打印消息。在我们的例子中,执行 echo 任务后,打印出 “hello world” 消息。
		为了运行 ant 的构建文件,打开命令提示符并导航到 build.xml 建立的文件夹。输入 ant info 命令或者 ant 命令。这两种命令都可以运行,因为 info 是构建文件的默认目标。你讲会看到下面的输出信息: 
	-->
	<target name="info" depends="package" description="这是info的描述信息">
		<echo>Hello World - Welcome to Apache Ant!</echo>
	</target>

	<target name="deploy" depends="package">
		<echo>来到deploy了</echo>
	</target>

	<target name="package" depends="clean,compile">
		<echo>来到package了</echo>
	</target>

	<target name="compile" >
		<echo>来到compile了</echo>
	</target>

	<target name="clean" >
		<echo>来到clean了</echo>
	</target>

</project>

运行输出:

PS E:\web> ant
Buildfile: build.xml

clean:
     [echo] 来到clean了

compile:
     [echo] 来到compile了

package:
     [echo] 来到package了

info:
     [echo] Hello World - Welcome to Apache Ant!

BUILD SUCCESSFUL
Total time: 0 seconds

类似于树的后续遍历

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值