Ant是一种基于Java的build工具。理论上来说,它有些类似于(Unix)C中的make ,但没有make的缺陷。
当一个代码项目大了以后,每次重新编译,打包,测试等都会变得非常复杂而且重复,因此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 -help”。
- ant
使用当前目录下的build.xml运行Ant,执行缺省的target。 - ant -buildfile test.xml
使用当前目录下的test.xml运行Ant,执行缺省的target。 - 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。
三、ANT的使用
此部分内容比较多,留在以后再学吧……………………
http://guiheji.blog.sohu.com/107658245.html
http://www.chedong.com/tech/ant.html
http://blog.csdn.net/wyh_1983/article/details/1480609
http://ant.apache.org/manual/using
http://baike.baidu.com/view/42824.htm
http://blog.csdn.net/yes1983/article/details/1245806
http://blog.csdn.net/cm4ever/article/details/305559
http://sgsoft.cnblogs.com/articles/81480.html
http://yunnfei-wang.iteye.com/blog/285815
http://www.wangmeng.cn/Article/SOFTDEVELOP/JAVA/200705/2716.html
http://www.360doc.com/content/07/0531/15/23378_531030.shtml
http://www.360doc.com/content/12/0219/23/3446769_187936760.shtml
http://www.bianceng.cn/Programming/Java/201102/24538_2.htm
http://wanqiufeng.blog.51cto.com/409430/486947
http://jimi68.iteye.com/blog/145978
http://www.cnblogs.com/wufengxyz/archive/2011/11/24/2261797.html
http://www.360doc.com/content/07/0114/16/14716_330410.shtml
浙公网安备 33010602011771号