Eclipse全程指南
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

6.1 Ant概述

Ant是著名Java开源组织Apache的一个项目。它可以使用户通过Ant脚本语言,自动将用户的项目拷贝到某个目录,然后发布项目,或者生成一些代码,执行SQL语言。总之它可以帮助用户完成项目开发中除了开发代码以外的大部分辅助性工作。

Ant是一种基于Java的build工具。理论上讲,它有些类似于(Unix)C中的make,但没有make的缺陷。

注意

make的缺陷在于它与平台相关,对于与平台无关的Java应用无能为力。

既然已经有了make、gnumake、nmake、jam以及其他的build工具,为什么还要使用一种新的build工具呢?

因为make的工具本质上是基于shell(语言)的:它们计算依赖关系,然后执行命令(这些命令与你在命令行敲的命令没太大区别)。这就意味着你可以很容易地通过使用OS特有的或编写新的(命令)程序扩展该工具,然而,这也意味着你将自己限制在了特定的OS上,或特定的OS类型上,如UNIX。

Makefile也是一件令人头痛的事情,关键在于它的tab问题。如果操作命令前有tab空格,那么这个程序将不会运行,同时报错,难道就为了一个tab空格而停止执行么?显然不是。

类似于jam的工具很好地处理了这类问题,但是用户必须记住和使用一种新的格式。

Ant就不同了。与基于shell命令的扩展模式不同,Ant用Java的类来扩展。用户不必编写shell命令,配置文件是基于XML的(通常为build.xml),通过调用target树就可执行各种task。每个task由一个实现了特定Task接口的对象来运行。

build.xml文件将一组需要执行的目标组织在一起,每个目标都可能依赖于其他目标。每个目标可以包含任意数量的Ant任务,Ant有很多内置任务,可以完成诸如编译、打包、生成文档、操作文件和目录等任务。每个build.xml文件都有一个默认执行的目标。

Ant的优点大致如下:

(1)跨平台性。Ant是用Java编写的,因此具有很好的跨平台性。它可以在Windows、Linux、UNIX等各种环境下运行,而不受平台差异的影响。

(2)使用方便,操作简单。Ant由一些内置任务(task)和可选择的任务组成,还可以编写自己的目标任务。构建文件采用XML语法格式,结构清晰,容易书写。

(3)可集成性。由于Ant的跨平台性,所以它很容易被集成到一些开发环境中(例如Eclipse、JBuilder、NetBeans)。

(4)开源性。Ant是Apache软件基金会Jakarta项目的一个子项目,本身是开源的,可以很方便地下载,没有版权问题,还可以不断地完善。