正 文

使用Ant使开发更简单


www.7dspace.com  更新日期:2005-12-19 5:56:15  七度空间


编写、编译和运行代码的循环非常单调乏味,并且应用越复杂,它可能越枯燥。构建(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和程序执行。


上一篇:使用BigInteger处理大二进制数
下一篇:从socket中读取数据时使用超时
作者:Cherami  来源:Java研究组织 ( 责任编辑:7dspace )
收藏此页】【打印】【关闭
站 内 搜 索
 

热 点 导 读
特 别 推 荐