ant build 是用来做什么的啊?

作者&投稿:剑哗 (若有异议请与网页底部的电邮联系)
ant是用来干什么的~

Apache Ant,是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发。
Ant运行时需要一个XML文件, Ant通过调用target树,就可以执行各种task。每个task实现了特定接口对象。
由于Ant构建文件 是XML格式的文件,所以很容易维护和书写,而且结构很清晰。Ant可以集成到开发环境中。由于Ant的跨平台性和操作简单的特点,它很容易集成到一些开发环 境中去。

扩展资料
Ant的depends属性指定了target的执行顺序。Ant会依照depends属性中target出现顺序依次执行 每个target。
在执行之前,首先需要执行它所依赖的target。程序中的名为run的target的 depends属性compile,而名为compile的target的depends属性是prepare,所以这几个target执 行的顺序是prepare->compile->run。
一个target只能被执行一次,即使有多个target依赖于它。如果没有if或unless属性target总 会被执行。
参考资料来源:百度百科-apache ant

ant是apache项目组的一个子项目,是一个基于java的构建工具。ant本身用java实现,要构建的工程的配置文件用xml格式描述,可以很方便的实现跨平台构建工作。
ant 可以从http://ant.apache.org下载,目前最新版本为1.5.4。下载完毕后直接解压缩到一个目录,例如D:\ant。

下一步我们需要设置如下的环境变量:
ANT_HOME:ant的安装目录,如果按上面方法解压缩了ant,那么这个值应该设为D:\ant
JAVA_HOME:jdk的安装目录
PATH:把%ANT_HOME%\bin目录加到path变量,以便于从命令行直接运行ant。

(1)建立build.xml

用ant编译规模较大的工程非常方便,每个工程都对应一个build.xml文件,这个文件包含与这个工程有关的路径信息和构建任务。

下面是一个最简单的build.xml文件:













每个build.xml有且仅有一个project,每个project下面可以包含多个target,每个target表示一个小的任务,每个任务负责执行一段脚本。ant有内置任务集可供使用,例如上面的echo就是在console上显示消息。

更详细的内置任务请参考http://ant.apache.org/manual/coretasklist.html

${lib.dir}表示引用一个名字叫做lib.dir的属性值,这个属性的值就是lib。

(2)运行ant

使用ant.bat可以直接运行ant,如果不带任何参数,ant会在当前路径下搜索build.xml文件,如果找到了这个文件,就运行project的default属性指定的target.我们也可以带参数来运行ant,以便选择build.xml文件和要运行的target:

ant -buildfile c:\demo\build.xml init

表示运行c:\demo\build.xml 中名字为init的target

(3)ant的目标依赖

target有一个属性depends,在其中可以指定一系列的target名字,表示在执行该target前,必须首先执行的一系列其它target。depends具有传递性,例如:targetA depends targetB,而targetB depends targetC和targetD,这样在执行targetA之前,首先执行C和D,然后执行B,最后才会执行A。

下面是个简单的例子,在执行编译的动作前,首先需要建立一个目标代码存放的目录,然后再执行编译。












一般情况下,大多数软件公司做开发的时候都不用myeclipse开发,这时利用ant部署就给我们带来极大的方便,它先将你的project打包成war包,然后部署到指定的服务器中。

Ant的概念
当一个代码项目大了以后,每次重新编译,打包,测试等都会变得非常复杂而且重复,因此c语言中有make脚本来帮助这些工作的批量完成。在Java 中应用是平台无关性的,当然不会用平台相关的make脚本来完成这些批处理任务了,ANT本身就是这样一个流程脚本引擎,用于自动化调用程序完成项目的编译,打包,测试等。除了基于JAVA是平台无关的外,脚本的格式是基于XML的,比make脚本来说还要好维护一些。
每个ant脚本(缺省叫build.xml)中设置了一系列任务(target):比如对于一个一般的项目可能需要有以下任务。
* 任务1:usage 打印本脚本的帮助信息(缺省)
* 任务2:clean <-- init 清空初始化环境
* 任务3:javadoc <-- build <-- init 生成JAVADOC
* 任务4:jar <-- build <-- init 生成JAR
* 任务5:all <-- jar + javadoc <-- build <-- init 完成以上所有任务:jar javadoc
而多个任务之间往往又包含了一定了依赖关系:比如把整个应用打包任务(jar)的这个依赖于编译任务(build),而编译任务又依赖于整个环境初始化任务(init)等。
注:我看到很多项目的ant脚本中的命名基本上都是一致的,比如:编译一般叫build或者compile;打包一般叫jar或war;生成文档一般命名为 javadoc或javadocs;执行全部任务all。在每个任务的中,ANT会根据配置调用一些外部应用并配以相应参数执行。虽然ANT可调用的外部应用种类非常丰富,但其实最常用的就2,3个:比如javac javadoc jar等。

Ant的优点
Ant是Apache软件基金会JAKARTA目录中的一个子项目,它有以下的优点。
跨平台性。Ant是纯Java语言编写的,所以具有很好的跨平台性。
操作简单。Ant是由一个内置任务和可选任务组成的。Ant运行时需要一个XML文件(构建文件)。
Ant通过调用target树,就可以执行各种task。每个task实现了特定接口对象。由于Ant构建文件是XML格式的文件,所以很容易维护和书写,而且结构很清晰。
Ant可以集成到开发环境中。由于Ant的跨平台性和操作简单的特点,它很容易集成到一些开发环境中去。

Ant是一个Java写的自动构建工具,类似与make
一般一个xml文件来定义构建任务,这个文件的默认文件名为build.xml

是用来打包工程的,比如打包成.jar包或者.war包。去找点资料看看吧

自动化编译\打包


南陵县13771004265: ant build 是用来做什么的啊? -
星使双氯: 一般情况下,大多数软件公司做开发的时候都不用myeclipse开发,这是利用ant部署就给我们带来极大的方便,它先将你的project打包成war包,然后部署到指定的服务器中.Ant的概念 当一个代码项目大了以后,每次重新编译,打包,测试等都...

南陵县13771004265: 用ant将程序编译和运行,都要做什么工作 -
星使双氯: ant是apache项目组的一个子项目,是一个基于java的构建工具.ant本身用java实现,要构建的工程的配置文件用xml格式描述,可以很方便的实现跨平台构建工作.ant 可以从http://ant.apache.org下载,目前最新版本为1.5.4.下载完毕后直接解...

南陵县13771004265: eclipse中ant是做什么用的? -
星使双氯: 如果用 eclipse+adt 非必需不过也可以用,在 sdk 目录 /platforms/android-x/templates 下有脚本

南陵县13771004265: JAVA中ant脚本是什么东西? -
星使双氯: 内容摘要: ANT是一个基于Java的自动化脚本引擎,脚本格式为XML.除了做Java编译相关任务外,ANT还可以通过插件实现很多应用的调用. 1)ANT的基本概念: 2)ANT的安装:解包,设置路径 3)ANT的使用:最好的学习只不过是一个...

南陵县13771004265: 在myeclipse中run as 后的ant build什么意思? -
星使双氯: 使用ant编译项目,详见ant的相关介绍

南陵县13771004265: MyEclipse开发web必须要安装ant吗?ant到底干啥的 -
星使双氯: 一般情况下,大多数软件公司做开发的时候都不用myeclipse开发,这是利用ant部署就给我们带来极大的方便,它先将你的project打包成war包,然后部署到指定的服务器中.Ant的概念 当一个代码项目大了以后,每次重新编译,打包,测试等都...

南陵县13771004265: java ant 的build 是自动生成么 -
星使双氯: 1,什么是ant ant是构建工具2,什么是构建 概念到处可查到,形象来说,你要把代码从某个地方拿来,编译,再拷贝到某个地方去等等操作,当然不仅与此,但是主要用来干这个3,ant的好处 跨平台 --因为ant是使用java实现的,所以它跨平台 ...

南陵县13771004265: 请问ant中build.xml文件里的<echo>标签是做什么用的? -
星使双氯: 楼上说的很是,<echo>标签就是回显的功能.看你这个标签,应该是回显日志记录的,日志的等级是warning等级.日志的类型是running类型.

南陵县13771004265: ant的build - xml
星使双氯:在Ant出现之前,构建和部署Java应用需要使用包括特定平台的脚本、Make文件、各种版本的IDE甚至手工操作的“大杂烩”.现在,几乎所有的开源Java项目都在使用Ant,大多数公司的内部项目也在使用Ant.Ant在这些项目中的广泛使用自...

南陵县13771004265: Ant build - xml怎么学习? -
星使双氯: Ant的概念 可能有些读者并不连接什么是Ant以及入可使用它,但只要使用通过Linux系统得读者,应该知道 make这个命令.当编译Linux内核及一些软件的源程序时,经常要用这个命令.Make命令其实就 是一个项目管理工具,而Ant所实现功能...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网