Apache Ant 中文手册

Apache Ant 中文手册

ID:40772076

大小:85.50 KB

页数:11页

时间:2019-08-07

Apache Ant 中文手册_第1页
Apache Ant 中文手册_第2页
Apache Ant 中文手册_第3页
Apache Ant 中文手册_第4页
Apache Ant 中文手册_第5页
资源描述:

《Apache Ant 中文手册》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、ApacheAnt中文手册引言ApacheAnt是一个基于Java的编译工具。它从功能上类似于make,但它以克服了make的缺点。为什么在make,gnumake,nmake,jam这些编译工具后,还要产生一个Ant呢?因为这些编译工具都有一定的限制。Ant的最初开发者在开发跨平台的应用时,发现以前的那些开发工具都有一定的限制。例如make工具,它是基于Shell的,它判断一系列的条件,并像在shell下面那样执行编译命令,这样做的好处的:针对特定的平台(如unix),可以容易的利用这些工具做编译;但同时,这也意味着,你的编译限制在固定的操作系统下,如只能用于unix。同时,Mak

2、e文件也有一些先天的缺陷。好多人都会遇到恐怖的tab问题。Ant的最初开发者多次说“我的命令不能执行因为我在tab前面加了一个空格!”。一些工具如Jam一定程序上解决了这个问题,但仍有其它的格式问题。Ant与从基于命令的那些扩展开来的那些工具不同,Ant是由java类扩展的。不用编写shell命令,而是配置基于XML的文件,形成多个任务的目标配置树。每一个任务都是通过一个实现了一个规定接口的java类来运行的。ant缺少了一些直接执行shell命令的能力,如find.-namefoo-execrm{},但它给用户提供了跨平台的能力,可以在任何地方工作。实际上,Ant也提供了命令exe

3、cute用来执行shell命令,这就是它的任务,它允许执行基于操作系统的命令。安装Ant下载Ant。Ant有两个版本,二进制版本和原代码版本。要编译和使用Ant,你必须要有一个兼容JAXP的XML解析器。二进制版本中自己带有了最新的ApacheXerces2XML解析器。如果你想用不同的兼容JAXP的解析器,你可以移去Ant库目录下的xercesImpl.jar和xml-apis.jar两个文件。你可以要用的解析器放到Ant的库目录下,也可以把jars文件放到系统的类路径中。在Ant的当前版本中,还需要安装JDK。下面的二进制片版本的安装后的目录结构。ant安装目录ant

4、/bin包含了运行脚本ant/libant运行所需的类库ant/docs文档ant/etc一些配置,如何通过任务的xml输出建立详细的报告,移动编译后的文件,忽略错误警告在运行前还要做一些设置:1)在path路径中加入ant/bin目录;2)设置ANT_HOME为安装目录;3)通常还要设置JAVA_HOME为JAVA的安装路径。例如下:setANT_HOME=c:antsetJAVA_HOME=c:jdk1.5.1setPATH=%PATH%;%ANT_HOME%bin使用Ant1写一个简单的编译文件Ant的编译文件是写成XML格式的,每一个编译文件包含一个project和至少

5、一个target。Targets包含了一些task元素。每一个task元素可以有一个id属性(attribute)可以被其它的引用。2Projects一个projext可以有如下的属性attribute:attribute说明是否必须name项目名称Nodefault当没有target支持时,缺省使用的targetYes.basedir基目录,其它的目录都是相对于此.这个attribute可以被"basedir"property覆盖。当"basedir"property设置后,basedirattribute就不起作用了。如果两者都没有设置,则buildfile本身的父目录作为基目录

6、。No根据需要,还可以设定项目的说明,在元素中。第一个project可以有一个或多个targets。一个target就是一系列的你要执行的任务组。在运行Ant时,你可以选择哪一个任务组被执行。如果没有给出执行的任务组,则project缺省的任务组被执行。3Targetstarget可能依赖于其它的target而存在。你可能用一个target用来编译,用另一个target且用来布署。只有编译完成后,布署才可执行,这样布署就依赖于编译。要说明的是,ant的dependsattribute只是规定了target之间的前后执行关系,并不表示真正的依赖性。依赖的次序是

7、按照排列次序从左到右。但如果这些依赖本身之间还有依赖关系,也可能在后面的先执行,如下面的例子:如果我们要运行targetD。从它的依赖attribute列表上看,可能先执行C,然后B,再后是A。其实这是不对的。C依赖于B,B依赖于A。因此是A先执行,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。