Ant不是基于Shell命令的,而是使用XML的,所以平台无关。
再者,使用Ant对于较大的项目具有极其明显地效率。即使是小的项目,也能体验到它的功用,比如内存开销等。
Ant的下载安装
可以从Apache下载最新版本的Ant,下载地址:
http://ant.apache.org/bindownload.cgi
解压缩以后,在目录apache-ant-1.7.0下面有四个文件夹:bin,lib,etc,docs。
Ant的使用手册可以参考地址:
http://ant.apache.org/manual/index.html
Ant的配置
现在很多开发工具都可以集成Ant,如果使用Ant手动方式build你的项目,需要配置环境变量。
比如我的解压目录为E:Antapache-ant-1.7.0,则环境变量配置如下:
= E:Antapache-ant-1.7.0;
= %ANT_HOME%bin;
Ant的简单使用
然后,启动CMD命令,就可以切换到你的工程的根目录下面,使用Ant进行管理。
以工程OracleJDBC为例,该工程是一个Java Project。
首先,在工程的根目录OracleJDBC下面编写一个简单的build.xml文件:
simple example build file
description="compile the source " >
description="generate the distribution" >
description="clean up" >
在CMD中切换到工程的根目录下,比如我的为:
D:eclipse-SDK-3.2.1-win32workspaceOracleJDBC>
1、使用 ant init
根据Ant的init指定的初始化工作,使用Ant命令:
D:eclipse-SDK-3.2.1-win32workspaceOracleJDBC>ant init
可以看到,在name为init的target元素中,创建了一个目录bin,Ant进行Build的详细信息如下所示:
Buildfile: build.xml
init:
[mkdir]Created dir:D:eclipse-SDK-3.2.1-win32workspaceOracleJDBCbin
BUILD SUCCESSFUL
Total time: 1 second
2、使用 ant compile
这是编译命令:
D:eclipse-SDK-3.2.1-win32workspaceOracleJDBC>antcompile
编译依赖于depends="init",即init执行生成的bin目录,运行信息如下:
Buildfile: build.xml
init:
compile:
[javac]Compiling 2 source files toD:eclipse-SDK-3.2.1-win32workspaceOra
cleJDBCbin
BUILD SUCCESSFUL
Total time: 3 seconds
根据配置文件,将 srcdir="${src}"目录下的JAVA文件编译,输出到目录destdir="${build}"。
3、使用ant dist
这是用于执行发布项目的命令:
D:eclipse-SDK-3.2.1-win32workspaceOracleJDBC>ant dist
发布运行信息如下所示:
Buildfile: build.xml
init:
compile:
dist:
[mkdir]Created dir:D:eclipse-SDK-3.2.1-win32workspaceOracleJDBCdistli
b
[jar] Building jar:D:eclipse-SDK-3.2.1-win32workspaceOracleJDBCdistl
ibOracleJDBC-20080326.jar
BUILD SUCCESSFUL
Total time: 1 second
发布依赖于上面的编译,即depends="compile";
发布先要创建一个发布文件夹;
发布然后将工程打包成JAR文件: ,而且,发布打包的JAR文件使用了时间戳,可以在工程的目录下看到JAR文件名称为:
distlibOracleJDBC-20080326.jar
4、使用ant clean
这是清除命令:
D:eclipse-SDK-3.2.1-win32workspaceOracleJDBC>ant clean
运行clean命令,显示信息如下所示:
Buildfile: build.xml
clean:
[delete] Deleting directoryD:eclipse-SDK-3.2.1-win32workspaceOracleJDBCb
in
[delete] Deleting directoryD:eclipse-SDK-3.2.1-win32workspaceOracleJDBCd
ist
BUILD SUCCESSFUL
Total time: 1 second
从配置文件可以看到:
清除工作执行了删除两个目录的工作。
5、使用ant
直接使用ant命令:
D:eclipse-SDK-3.2.1-win32workspaceOracleJDBC>ant
可以看到,完成的是一个执行链:
Buildfile: build.xml
init:
[mkdir]Created dir:D:eclipse-SDK-3.2.1-win32workspaceOracleJDBCbin
compile:
[javac]Compiling 2 source files toD:eclipse-SDK-3.2.1-win32workspaceOra
cleJDBCbin
dist:
[mkdir]Created dir:D:eclipse-SDK-3.2.1-win32workspaceOracleJDBCdistli
b
[jar] Building jar:D:eclipse-SDK-3.2.1-win32workspaceOracleJDBCdistl
ibOracleJDBC-20080326.jar
BUILD SUCCESSFUL
Total time: 3 seconds
ant命令直接完成了所有的初始化、编译,发布的工作,速度非常快。
这是一个最简单的Ant的使用了,没有用到CLASSPATH等等一些元素。