Ant的Logo:
Ant的官网地址:http://ant.apache.org/
Ant提供了两种格式版本:
1.二进制版本;
2.源代码版本;
众所周知Ant是Apache的一个子项目,是基于Java的编译工具,有些类似于Linux的make命令,敲入一个make就可以批量的编译源代码,但是往往我们使用make命令时并不会非常顺利,或多或少的会遇到一些问题。Ant的作者(James Duncan Davisdson)也许是厌烦死这样的生活所以开发了Ant这样基于Java类扩展的编译工具,我们不必再去写繁琐的shell命令,只是将不同的项目配置成不同的build.xml就可以轻松编译。
Ant为我们提供了一个自动化的编译功能,从前我们部署一个项目首先要寻找项目所依赖的jar包,这就是一个比较痛苦的过程;然后我们去利用eclipse或其他工具编译源代码;最后将他们导出成我们需要的war包或者jar包等。
人工来做这些事情时往往精力有限很可能出现错误,而一旦项目庞大起来就会在这上面花费巨大的精力及时间去查找错误及修改问题。
Ant 是一个将软件编译、测试、部署等步骤联系在一起加以优化的一个构建工具,常用于Java 环境中的软件开发。
那么什么是构建?形象的说,构建就是把代码从某个地方拿来、编译、再拷贝到某个地方去等操作,当然不仅于此。
Ant有哪些优势:
(1)跨平台:因为 ant 是使用 java 实现的,所以具有跨平台的特性;
(2)使用简单:比其他构建工具简单,特别是和"make"做比较;
(3)语法清晰:同样是和 make 做比较;
(4)功能强大:Ant 能做的事情很多,可能你用了很久,你仍然不知道它能有多少功能。当你需要自己开发一些 ant 插件的时候,你会发现它更多的功能。
Ant与Make的区别:make 是一个类似于Ant 的构建工具,不过make 应用于C/C++,Ant 则主要应用于java。当然这不是一定的。
下面我们就开始安装Ant(以二进制版本为例):
1.下载Ant:打开Apache Ant的下载页面(http://ant.apache.org/bindownload.cgi),找到如图所示位置:
下载解压缩之后会有如下目录结构:
bin目录:放置Ant的执行文件,包括Windows和Linux版本。
etc目录:相关配置文件。
lib目录:放置Ant依赖的相关类库。
manual目录:手册。
2.配置所需环境变量:
我们以安装目录为D:\apache-ant为例,首先打开“环境变量”对话框。
(1)增加环境变量"ANT_HOME"值为"D:\apache-ant";
(2)在PATH环境变量中加入Ant的bin 目录:%ANT_HOME%\bin;
(3)如果想让Ant支持JUnit,可以直接将JUnit的junit.jar和junit.pom放置在Ant的lib目录下,并修改变量CLASSPATH 中原先有关于JUnit 的设定,例如:%ANT_HOME\lib\junit.jar
junit的下载地址:http://junit.org/
3.测试Ant是否配置成功,在cmd控制符状态下输入:
ant -version
如果显示以下提示则说明已经配置成功:
没有指定任何参数时,Ant 会在当前目录下查询build.xml文件,如果找到了就用该文件作为buildfile。
如果你用 -find 选项。Ant 就会在上级目录中寻找buildfile,直至到达文件系统的根。
ant -find
为Ant指定编译文件位置,可以用参数 -buildfile path/file。
ant -buildfile D:\apache-ant\build_001.xml ant -buildfile D:\apache-ant\
当输入为文件夹路径时Ant 会在该目录寻找默认编译文件build.xml。
同理输入为文件名时执行指定编译文件。
我们输入命令,会得到以下提示:
ant -help ant [options] [target [target2 [target3] ...]] Options: -help, -h 显示帮助信息 -projecthelp, -p 显示项目帮助信息 -version 显示Ant版本 -diagnostics 显示Ant的详细信息,包括安装路径,属性文件,配置文件,类库等等,用以我们调试或寻找错误信息 -quiet, -q 编译时只输出必要信息,很安静! -silent, -S 不打印直至任务失败时 -verbose, -v 编译时只输出详细信息,很详细! -debug, -d 打印debug信息 -emacs, -e 打印不缩排的日志 -lib <path> 指定lib目录 -logfile <file> 指定日志文件记录日志 -l <file> '同上' -logger <classname> 指定一个类来处理Ant 的日志记录。所指定的类必须实现了org.apache.tools.ant.BuildLogger 接口 -listener <classname> 指定listener,在Ant与IDE或其他Java程序集成时,此选项非常重要 -noinput 不允许互动输入信息 -buildfile <file> 指定编译文件 -file <file> '同上' -f <file> '同上' -D<property>=<value> 使用指定属性值 -keep-going, -k 执行所有目标,不因某些失败而停止执行 -propertyfile <name> 从属性文件中加载属性 -inputhandler <class> 指定inputhandler -find <file> 查找构建文件,如果当前目录不存在则自动向上寻找直至根目录 -s <file> -nice number 为主线程数赋值,从1到10,默认值为5 -nouserlib 不使用Ant的默认类库运行Ant -noclasspath 不使用默认classpath运行Ant -autoproxy 使用系统默认代理设置,Java1.5以上支持 -main <class> 覆盖Ant的main函数
以下是Ant官网的文档地址,我们可以自行去了解更多的内容: