Ant的下载安装和简单地使用2008年03月26日 星期三 17:57Ant不是基于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:\Ant\apache-ant-1.7.0,则环境变量配置如下:
<ANT_HOME> = E:\Ant\apache-ant-1.7.0;
<PATH> = %ANT_HOME%\bin;
Ant的简单使用
然后,启动CMD命令,就可以切换到你的工程的根目录下面,使用Ant进行管理。
以工程OracleJDBC为例,该工程是一个Java Project。
首先,在工程的根目录OracleJDBC下面编写一个简单的build.xml文件:
<project name="OracleJDBC" default="dist" basedir=".">
<description>
simple example build file
</description>
<!-- set global properties for this build -->
<property name="src" location="src"/>
<property name="build" location="bin"/>
<property name="dist" location="dist"/>
<target name="init">
<!-- Create the time stamp -->
<tstamp/>
<!-- Create the build directory structure used by compile -->
<mkdir dir="${build}"/>
</target>
<target name="compile" depends="init"
description="compile the source " >
<!-- Compile the java code from ${src} into ${build} -->
<javac srcdir="${src}" destdir="${build}"/>
</target>
<target name="dist" depends="compile"
description="generate the distribution" >
<!-- Create the distribution directory -->
<mkdir dir="${dist}/lib"/>
<!-- Put everything in ${build} into the MyProject-${DSTAMP}.jar file -->
<jar jarfile="${dist}/lib/OracleJDBC-${DSTAMP}.jar" basedir="${build}"/>
</target>
<target name="clean"
description="clean up" >
<!-- Delete the ${build} and ${dist} directory trees -->
<delete dir="${build}"/>
<delete dir="${dist}"/>
</target>
</project>
在CMD中切换到工程的根目录下,比如我的为:
D:\eclipse-SDK-3.2.1-win32\workspace\OracleJDBC>
1、使用 ant init
根据Ant的init指定的初始化工作,使用Ant命令:
D:\eclipse-SDK-3.2.1-win32\workspace\OracleJDBC>ant init
可以看到,在name为init的target元素中,创建了一个目录bin,Ant进行Build的详细信息如下所示:
Buildfile: build.xml
init:
[mkdir] Created dir: D:\eclipse-SDK-3.2.1-win32\workspace\OracleJDBC\bin
BUILD SUCCESSFUL
Total time: 1 second
2、使用 ant compile
这是编译命令:
D:\eclipse-SDK-3.2.1-win32\workspace\OracleJDBC>ant compile
编译依赖于depends="init",即init执行生成的bin目录,运行信息如下:
Buildfile: build.xml
init:
compile:
[javac] Compiling 2 source files to D:\eclipse-SDK-3.2.1-win32\workspace\Ora
cleJDBC\bin
BUILD SUCCESSFUL
Total time: 3 seconds
根据配置文件,将 srcdir="${src}" 目录下的JAVA文件编译,输出到目录destdir="${build}"。
3、使用ant dist
这是用于执行发布项目的命令:
D:\eclipse-SDK-3.2.1-win32\workspace\OracleJDBC>ant dist
发布运行信息如下所示:
Buildfile: build.xml
init:
compile:
dist:
[mkdir] Created dir: D:\eclipse-SDK-3.2.1-win32\workspace\OracleJDBC\dist\li
b
[jar] Building jar: D:\eclipse-SDK-3.2.1-win32\workspace\OracleJDBC\dist\l
ib\OracleJDBC-20080326.jar
BUILD SUCCESSFUL
Total time: 1 second
发布依赖于上面的编译,即depends="compile";
发布先要创建一个发布文件夹<mkdir dir="${dist}/lib"/>;
发布然后将工程打包成JAR文件: <jar jarfile="${dist}/lib/OracleJDBC-${DSTAMP}.jar" basedir="${build}"/>,而且,发布打包的JAR文件使用了时间戳,可以在工程的目录下看到JAR文件名称为:
\dist\lib\OracleJDBC-20080326.jar
4、使用ant clean
这是清除命令:
D:\eclipse-SDK-3.2.1-win32\workspace\OracleJDBC>ant clean
运行clean命令,显示信息如下所示:
Buildfile: build.xml
clean:
[delete] Deleting directory D:\eclipse-SDK-3.2.1-win32\workspace\OracleJDBC\b
in
[delete] Deleting directory D:\eclipse-SDK-3.2.1-win32\workspace\OracleJDBC\d
ist
BUILD SUCCESSFUL
Total time: 1 second
从配置文件可以看到:
<delete dir="${build}"/>
<delete dir="${dist}"/>
清除工作执行了删除两个目录的工作。
5、使用ant
直接使用ant命令:
D:\eclipse-SDK-3.2.1-win32\workspace\OracleJDBC>ant
可以看到,完成的是一个执行链:
Buildfile: build.xml
init:
[mkdir] Created dir: D:\eclipse-SDK-3.2.1-win32\workspace\OracleJDBC\bin
compile:
[javac] Compiling 2 source files to D:\eclipse-SDK-3.2.1-win32\workspace\Ora
cleJDBC\bin
dist:
[mkdir] Created dir: D:\eclipse-SDK-3.2.1-win32\workspace\OracleJDBC\dist\li
b
[jar] Building jar: D:\eclipse-SDK-3.2.1-win32\workspace\OracleJDBC\dist\l
ib\OracleJDBC-20080326.jar
BUILD SUCCESSFUL
Total time: 3 seconds
ant命令直接完成了所有的初始化、编译,发布的工作,速度非常快。
这是一个最简单的Ant的使用了,没有用到CLASSPATH等等一些元素。