Ant的概念
当一个代码项目大了以后,每次重新编译,打包,测试等都会变得非常复杂而且重复,因此c语言中有make脚本来帮助这些工作的批量完成。在Java 中应用是平台无关性的,当然不会用平台相关的make脚本来完成这些批处理任务了,ANT本身就是这样一个流程脚本引擎,用于自动化调用程序完成项目的编译,打包,测试等。除了基于JAVA是平台无关的外,脚本的格式是基于XML的,比make脚本来说还要好维护一些。
注:很多项目的ant脚本中的命名基本上都是一致的,比如:编译一般叫build或者compile;打包一般叫jar或war;生成文档一般命名为 javadoc或javadocs;执行全部任务all。在每个任务的中,ANT会根据配置调用一些外部应用并配以相应参数执行。虽然ANT可调用的外部应用种类非常丰富,但其实最常用的就2,3个:比如javac javadoc jar等。
Ant的优点
跨平台性。Ant是纯Java语言编写的,所示具有很好的跨平台性。
操作简单。Ant是由一个内置任务和可选任务组成的。Ant运行时需要一个XML文件(构建文件)。
Ant通过调用target树,就可以执行各种task。每个task实现了特定接口对象。由于Ant构建文件时XML格式的文件,所以容易维护和书写,而且结构很清晰。
Ant可以集成到开发环境中。由于Ant的跨平台性和操作简单的特点,它很容易集成到一些开发环境中去。
开工:
1、下载Ant 1.8.2包 http://ant.apache.org/bindownload.cgi
2、环境变量中设置(我的jdk目录D:\Programs\Java\jdk1.6.0_21):
ANT_HOME: D:\Programs\apache-ant-1.8.2
PATH: D:\Programs\apache-ant-1.8.2\bin
3、cmd窗口:ant -version
如果没有安装成功则回报找不到这个命令,安装成功会有相关的提示信息显示
Apache Ant(TM) version 1.8.2 compiled on December 20 2010
4、至此ant工具已可用。
可能的错误:
情况一:
环境变量已配置完毕,命令行敲ant命令后提示:“Unable to locate tools.jar. Expected to find it in D:\Programs\Java\jre6\lib”;
解决:将D:\Programs\Java\jdk1.6.0_21\lib中的tools.jar复制到D:\Programs\Java\jre6\lib中去。
情况二:
[javac] D:\Programs\apache-activemq-5.5.0\example\build.xml:151: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
……
解决:
打开build.xml文件
找到
改为