编写、编译和运行代码的循环非常单调乏味,并且应用越复杂,它可能越枯燥。构建(build)工具可以帮助你构建和发布应用。
现在的标准的Java构建工具是Ant。在Java项目中使用Ant不会耗费太多的工作。首先你需要下载并安装Ant。(Ant的文档很完善,手册将会指导安装的每一步。)
然后为你的项目创建一个build文件——一个包含Ant目标的XML文件。
下面是一个范例文件:
<?xml version="1.0" encoding="UTF-8" ?>
<project default="jar" name="javatips" basedir=".">
<property name="classesdir" value="bin" />
<property name="java.src" value="src" />
<property name="jar.file" value="javatips.jar" />
<target name="clean">
<delete file="${jar.file}" />
</target>
<target name="compile" description="Compile the code">
<javac destdir="${classesdir}" deprecation="true"
debug="true" optimize="false"
excludes="**/package.html">
<src>
<pathelement location="${java.src}" />
</src>
<classpath>
<fileset dir="lib">
<include name="*.jar" />
</fileset>
</classpath>
</javac>
</target>
<target name="jar" description="Create the jar" depends="compile">
<jar jarfile="javatips.jar" excludes="**/package.html"
basedir="${classesdir}" />
</target>
</project>
Ant中的基本工作单元称为目标(target)。每个目标表示构建过程的一个独立的部分:compile、 jar、war、doc等等。
Ant目标可以有依赖。如果一个目标有依赖,那么在指定的目标执行前将执行它依赖的目标。
下面是一个具有依赖性的范例目标:
<target name="jar" description="Create the jar" depends="compile">
<jar jarfile="target/${final.name}.jar"
excludes="**/package.html" basedir="${classesdir}"></jar>
</target>
以美元符开始并被大括号包围的标识符是Ant的属性。请查看Ant的文档了解属性的解释。
你可以在build文件的工程元素中指定缺省的目标:
<project default="jar" name="code316" basedir=".">
如果你不带参数运行Ant将执行缺省目标,就像这样:
>ant
Buildfile: build.xml
compile:
[javac] Compiling 2 source files to bin
jar:
[jar] Building jar: javatips.jar
BUILD SUCCESSFUL
Total time: 1 second
你也可以在运行Ant时指定目标。下面的命令将运行“clean”目标。
>ant clean
Buildfile: build.xml
clean:
[delete] Deleting: javatips.jar
[delete] Deleting 2 files from bin
BUILD SUCCESSFUL
Total time: 0 seconds
通过很小的努力,你就可以降低一些平常但是某些情况下非常困难的任务的复杂性。你的项目越大,你能从使用Ant中得到的好处就更多。
从Ant站点了解Ant的更多特性,包括CVS访问、FTP和程序执行。
