关于java中ant的配置和使用
看到ub nt 论坛中java版里边几乎都是讨论eclipse和netbeans的使用和配置,很少见到有关于ant的。其实ant是学java必不可少的一样工具,即java进行持续整合不可少的工具。 目前说来,几乎每一个开源的知名java项目(如spring, hibernate, str ts, veiocity...)都会提供相应的ant b ild文件。 java的配置就不多说了,最重要的是要有java_home这个环境变量。 ant的配置也很简单: 1. 去这里下载一个ant的压缩包: 2. 将apache-anttar.gz解压到任意目录,假设为homejackjavalibrariesapache-ant-1.7.0 3. 设置环境变量,我采用的方法是编辑~.bashrc文件对终端程序: 代码: s do vim ~.bashrc 在该文件里边添加:代码: export ant_home="homejackjavalibrariesapache-ant-1.7.0" export path="${path}:${ant_home}" 重启终端程序再输入: ant -version 如果出现:apache ant version 1.7.0 compiled on december 13 2006 或者类似的,就说明ant配置成功。 接下来就是关于ant的b ild.xml文件,这也是使用ant的最重要的部分。在开始任何一个项目的时候,都应该确定自己项目的目录结构,当然,你也可以设计一种通用的目录结构,以下是我常用的目录结构:代码: + + src  源码文件夹 + java  java实现代码 + test  测试代码 + b ild  class文件输出文件夹 + classes + test + doc  文档目录 + src  文档的源码(如docbook xml或者latex) + api + test  测试文档 + l + pdf + reso rces  images, css... + lib  java包 + b ild + r ntime 如果是web开发的项目,目录结构就有所不同,例如会添加web文件夹,里边包含了整个war文件里的所有内容,这样打包就非常方便。 目录结构确定好后,开始编写b ild.xml。b ild文件的编写是很有学问的,呵呵,和目录结构一样,可以编写一个通用的。一般的b ild文件主要由三大部分组成:properties, paths和targets。properties就不用说了,定义了一系列属性,如源码文件夹的位置,项目的名字等等；paths主要定义了一系列的路径,如classpath等等；targets是最重要的,每一个target都是一个ant的目标,在命令行上输入ant 就可以执行相应的ant目标,非常方便(前提是你得先写好ant b ild文件),target底下包含一些列的命令来帮助完成该目标。关于properties的定义,有两种做法: 1. 直接用xml进行编写 2. 用java properties文件编写,然后进行导入 我想是个人就会选择第二种(当然,也要看情况而定),因为更简单。 针对于以上的目录结构,我一般的b ild.properties内容如下:代码: src.dir = src  = ${src.dir}java src.test = ${src.dir}test bin.dir = b ild  = ${bin.dir}classes bin.test = ${bin.dir}test lib.dir = lib  = ${lib.dir}b ild lib.rt = ${lib.dir}r ntime doc.dir = doc doc.api = ${doc.dir}api doc.test = ${doc.dir}test docl = ${doc.dir}l doc.pdf = ${doc.dir}pdf doc.rsc = ${doc.dir}reso rces 有了这个以后,就可以在b ild.xml中进行导入: 有了这些属性,编写b ild文件就方便了。在java开发中,最烦人的就是关于classpath的设置,幸运的是ant为我们提供了非常方便的classpath设置方法: 代码: target="1.5" srcdir="${src.test}" destdir="${bin.test}" classpathref="master.cp"  classpathref="master.cp" version="tr e" a thor="tr e" windowtitle="websterm api" websterm api doc mentation 以上是我对java开发的一些认识吧,我比较喜欢ant,我也曾经用过许多ide,eclipse, netbeans, idea,但是最后还是ant最实用,因为不管走到哪里,我都只要把我的项目打个包,一解压,用ant完成循环就行了,非常方便。