关于Java中ANT的配置和使用

[来源] 达内    [编辑] 达内   [时间]2012-09-17

看到Ubuntu论坛中Java版里边几乎都是讨论Eclipse和Netbeans的使用和配置,很少见到有关于ANT的。其实ANT是学Java必不可少的一样工具,即Java进行持续整合不可少的工具。

  看到Ubuntu论坛中Java版里边几乎都是讨论Eclipse和Netbeans的使用和配置,很少见到有关于ANT的。其实ANT是学Java必不可少的一样工具,即Java进行持续整合不可少的工具。

  目前说来,几乎每一个开源的知名Java项目(如Spring, Hibernate, Struts, Veiocity...)都会提供相应的ANT Build文件。

  Java的配置就不多说了,最重要的是要有JAVA_HOME这个环境变量。

  ANT的配置也很简单:

  1. 去这里下载一个ANT的压缩包:http://ant.apache.org/bindownload.cgi

  2. 将apache-ant-.tar.gz解压到任意目录,假设为/home/jack/JavaLibraries/apache-ant-1.7.0

  3. 设置环境变量,我采用的方法是编辑~/.bashrc文件对终端程序:

  代码:

  sudo vim ~/.bashrc

  在该文件里边添加:

  代码:

  export ANT_HOME="/home/jack/JavaLibraries/apache-ant-1.7.0"

  export PATH="${PATH}:${ANT_HOME}"

  重启终端程序再输入:

  ant -version

  如果出现:Apache Ant version 1.7.0 compiled on December 13 2006

  或者类似的,就说明ANT配置成功。

  接下来就是关于ANT的build.xml文件,这也是使用ANT的最重要的部分。在开始任何一个项目的时候,都应该确定自己项目的目录结构,当然,你也可以设计一种通用的目录结构,以下是我常用的目录结构:

  代码:

  +

  + src // 源码文件夹

  + java // Java实现代码

  + test // 测试代码

  + build // Class文件输出文件夹

  + classes

  + test

  + doc // 文档目录

  + src // 文档的源码(如Docbook XML或者latex)

  + api

  + test // 测试文档

  + html

  + pdf

  + resources // Images, CSS...

  + lib // Java包

  + build

  + runtime

  如果是WEB开发的项目,目录结构就有所不同,例如会添加web文件夹,里边包含了整个WAR文件里的所有内容,这样打包就非常方便。

  目录结构确定好后,开始编写build.xml。Build文件的编写是很有学问的,呵呵,和目录结构一样,可以编写一个通用的。一般的Build文件主要由三大部分组成:Properties, Paths和Targets。Properties就不用说了,定义了一系列属性,如源码文件夹的位置,项目的名字等等;Paths主要定义了一系列的路径,如Classpath等等;Targets是最重要的,每一个Target都是一个ANT的目标,在命令行上输入ant 就可以执行相应的ANT目标,非常方便(前提是你得先写好ANT Build文件),Target底下包含一些列的命令来帮助完成该目标。

  关于Properties的定义,有两种做法:

  1. 直接用XML进行编写

  2. 用Java Properties文件编写,然后进行导入

  我想是个人就会选择第二种(当然,也要看情况而定),因为更简单。

  针对于以上的目录结构,我一般的build.properties内容如下:

  代码:

  src.dir = src

  src.java = ${src.dir}/java

  src.test = ${src.dir}/test

  bin.dir = build

  bin.java = ${bin.dir}/classes

  bin.test = ${bin.dir}/test

  lib.dir = lib

  lib.bt = ${lib.dir}/build

  lib.rt = ${lib.dir}/runtime

  doc.dir = doc

  doc.api = ${doc.dir}/api

  doc.test = ${doc.dir}/test

  doc.html = ${doc.dir}/html

  doc.pdf = ${doc.dir}/pdf

  doc.rsc = ${doc.dir}/resources

  有了这个以后,就可以在build.xml中进行导入:

  有了这些属性,编写Build文件就方便了。在Java开发中,最烦人的就是关于Classpath的设置,幸运的是ANT为我们提供了非常方便的Classpath设置方法:

  代码:

  

  

  

  

  

  

  

  

  target="1.5"

  srcdir="${src.test}"

  destdir="${bin.test}"

  classpathref="master.cp" />

  

  

  

  

  

  

  

  

  

  

  classpathref="master.cp"

  version="true"

  author="true"

  windowtitle="Websterm API">

  

  

  

  

  Websterm API Documentation

 

]]>

 

  

  

  

资源下载