时间: 2007-12-18
使用ant可以很方便地帮我们按照build.xml中定义的规则来自动化地组织应用的目录结构、编译和运行程序等一系列工作,合理使用ant,可以让很多原本需要重复做的工作以后一键式完成。
以下以组织、编译一个简单的使用JDOM的应用为例,简述使用ant的过程,自己体会其带来的好处。
1、准备ant
首先下载ant:http://jakarta.apache.org/ant/index.html
(注意现在是手工配置和使用ant,用IDE的自己按情况安排。)
下载binary版本后解压,放到硬盘的任意位置,然后在环境变量path中加入ant的/bin目录。假设我的ant主目录为e:\ant,那么path设置就是......;e:\ant\bin;
设置完之后打开控制台输入ant,如果没提示“没找到命令”则已经是配置成功,相当简单。
2、使用ant
建立如下目录结构:
e:\anttest
e:\anttest\lib
e:\anttest\src
将jdom.jar放到lib,在src新建一个测试类,它需要使用jdom包(使用第三方包的原因只是想说明如何使用ant指定编译时需要的类路径).
编写AntTester.java:
package cn.badboy;
import org.jdom.*;
import org.jdom.output.*;
import java.io.*;
public class AntTester
{
public static void main(String args[])
{
System.out.println("hi");
}
}
在ant下建立build.xml:
<?xml version="1.0" encoding="GB2312" ?>
<!--建立一个项目,路径为当前路径.-->
<project default="compile" basedir=".">
<!--定义“变量” src.dir,它指向src(源文件)目录,方便以后的配置重用.-->
<property name="src.dir" location="src" />
<!--定义“变量” classes.dir,它指向classes(编译后文件)目录,方便以后的配置重用.-->
<property name="classes.dir" location="classes" />
<!--定义编译时需要的类路径-->
<path id="jarpath">
<fileset dir="lib" includes="*.jar" />
</path>
<!--一个名为compile的任务组-->
<target name="compile">
<!--如果src和classes目录不存在则新建他们-->
<mkdir dir="${src.dir}" />
<mkdir dir="${classes.dir}" />
<!--执行编译任务,其中指定了源文件目录、输出文件目录和依赖的类文件路径-->
<javac srcdir="${src.dir}" destdir="${classes.dir}" classpathref="jarpath" />
</target>
</project>
现在可以运行ant了。
在控制台下转到anttest目录,运行 ant -file build.xml,然后去查看e:\anttest目录,看看classes下是否已经有classes文件生成了?
这只是一个文件的情况,与直接用javac编译没什么区别,但可以想像在应用比较复杂时,只运行次ant命令就可以把工作完成那是多么的写意。