Apache Ant

来源:互联网 发布:数据画像 编辑:程序博客网 时间:2024/05/01 13:55

1.Ant简介

apache ant是一个基于java的编译工具。它从功能上类似于make,但它以克服了make的缺点。
为什么在make, gnumake, nmake, jam这些编译工具后,还要产生一个ant呢?因为这些编译工具都有一定的限制。ant的最初开发者在开发跨平台的应用时,发现以前的那些开发工具都有一定的限制。例如make工具,它是基于shell的,它判断一系列的条件,并像在shell下面那样执行编译命令,这样做的好处的:针对特定的平台(如 unix),可以容易的利用这些工具做编译;但同时,这也意味着,你的编译限制在固定的操作系统下,如只能用于unix。
同时,make文件也有一些先天的缺陷。好多人都会遇到恐怖的tab问题。ant的最初开发者多次说“我的命令不能执行因为我在tab前面加了一个空格!”。一些工具如jam一定程序上解决了这个问题,但仍有其它的格式问题。
ant与从基于命令的那些扩展开来的那些工具不同,ant是由java类扩展的。不用编写shell命令,而是配置基于xml的文件,形成多个任务的目标配置树。每一个任务都是通过一个实现了一个规定接口的java类来运行的。

2.安装ant

安装ant
下载ant。ant有两个版本,二进制版本和原代码版本。
要编译和使用ant,你必须要有一个兼容jaxp的xml解析器。
二进制版本中自己带有了最新的apache xerces2 xml解析器。如果你想用不同的兼容jaxp的解析器,你可以移去ant库目录下的xercesimpl.jar和xml-apis.jar两个文件。你可以要用的解析器放到ant的库目录下,也可以把jars文件放到系统的类路径中。
在ant的当前版本中,还需要安装jdk。下面的二进制片版本的安装后的目录结构。

  ant    安装目录 
  ant/bin      包含了运行脚本 
  ant/lib      ant运行所需的类库 
  ant/docs      文档 
  ant/etc       一些配置,如何通过任务的xml输出建立详细的报告,

移动编译后的文件,忽略错误警告

    在运行前还要做一些设置:

1)      在path路径中加入ant/bin目录;
2)      设置ant_home为安装目录;
3)      通常还要设置java_home为java的安装路径。
例如下:
set ant_home=c:\ant
set java_home=c:\jdk1.5.1
set path=%path%;%ant_home%\bin

3.使用ant

 ant的编译文件是写成xml格式的,每一个编译文件包含一个project和至少一个 target。 targets包含了一些task元素。每一个task元素可以有一个id 属性(attribute)可以被其它的引用

 

-quiet(不显示大多数build信息)

-verbose(显示构建过程的每个操作的详细信息)

-buildfile filename.xml 构建特定的xml文件

-Dproperty=value 设定特别的外部参数,外部参数可以传递给内部变量

-find filename.xml 它会让ANT自动查找当前的目录、父目录中的xml文件,直到失败

  

例:

ant -buildfile test.xml

使用当前目录下的test.xml运行Ant

ant -buildfile test.xml dist

使用当前目录下的test.xml运行Ant,执行一个叫做dist的target。

ant -buildfile test.xml -Dbuild=build/classes dist

使用当前目录下的test.xml运行Ant,执行一个叫做dist的target,并设定build变量的值为build/classes。