ANT是Apache的开源项目,目前在java的项目开发中被广泛的采用,功能非常的强大!因此我们有必要熟悉一下这个基于java的工具。
关于ANT的相关介绍,请参考www.apache.org。
首先我们应该安装ANT,从apache.org下载后直接安装到机器上就可以使用了。最好设置一下相关的环境变量,虽然很多系统能够自动识别出来。你还是应该设置ANT_HOME,java_HOME,PATH这几个环境变量,例如你的ANT安装在c:ANT1.6 你的java安装在c:j2sdk1.4.2.那么我们可以执行下面的操作设置环境变量(winxp):set ANT_HOME=c:ANT1.6set java_HOME= c:j2sdk1.4.2set PATH=%PATH%;%PATH%in设置好ANT以后 在command里面执行ANT -version看看是不是可以输出ANT的版本信息确认安装成功
由于很多开发工具都内置了ANT,所以我直接以eclipse为例说明如何用ANT开发java项目,这里的project非常简单,新建一个项目为TestANT,然后再src里面写两个类内容如下:package com.north;
/** * @author P2800 * * TODO To change the template for this generated type comment go to * Window - Preferences - java - Code Style - Code Templates */public class TestANT{
public static void main(String[] args) { new MyWork().print(); }}
package com.north;/* * Created on 2004-7-23 * * TODO To change the template for this generated file go to * Window - Preferences - java - Code Style - Code Templates */
/** * @author P2800 * * TODO To change the template for this generated type comment go to * Window - Preferences - java - Code Style - Code Templates */public class MyWork{ public void print() { System.out.println(System.getenv("CLASSPATH")); }} 我不准备介绍过多的ANT的使用,通过察看用户手册你能很快上手的。而是直接给出build.xml的内容并对相关的内容作一些必要的说明。你在project TestANT里面新建一个文件build.xml,这个是ANT默认去寻找的文件,如果你用其他文件名的话你应该使用ANT -buildfile mybuildfile.xml<project default="jar" basedir="." name="myproject"> <description>this is my test for ANT tool</description> <property name="src" location="src"></property> <property name="dist" location="dist"></property> <property name="classes" location="classes"/> <target name="init"> <tstamp></tstamp> <mkdir dir="${dist}"/> <mkdir dir="${classes}"/> </target> <target name="compile" depends="init"> <javac srcdir="${src}" destdir="${classes}"/> </target> <target name="jar" depends="compile"> <jar destfile="${dist}/myjar-${DSTAMP}.jar" basedir="${classes}"></jar> </target></project>这个build.xml并不复杂 他的目的是对project里面的源代码编译 然后打包到dist目录。在build.xml里面主要有如下几个元素:project target task property。其中property是让你去定义一些属性值,在以后的target或者task里面去使用。每个project必须指定一个default的target来执行。每个target是task的集合,用来完成一个特定的任务,一般比单个task复杂。target的一个参数depends说明了编译的顺序,例如在这里你要让jar执行的话,必须compile先执行,而compile执行之前init先执行。所以顺序是init->compile->jar。task是最重要的,在ANT中有很多内置的task,你看一下列表就会觉得ANT真是非常强大。具体你要使用哪个task就要参考他的文档。
选中build.xml右键选择run->ANT build,你将在console看到Buildfile: C:eclipseworkspaceTestANTuild.xmlinit: [mkdir] Created dir: C:eclipseworkspaceTestANTdist [mkdir] Created dir: C:eclipseworkspaceTestANTclassescompile: [javac] Compiling 2 source files to C:eclipseworkspaceTestANTclasses [javac] Note: C:eclipseworkspaceTestANTsrccomorthMyWork.java uses or overrides a deprecated API. [javac] Note: Recompile with -deprecation for details.jar: [jar] Building jar: C:eclipseworkspaceTestANTdistmyjar-20040723.jarBUILD SUCCESSFULTotal time: 2 seconds这表示编译成功了,但是提示有个deprecated API在程序中使用了,这个留给读者去查看一下手册看如何显示出哪个API?