Ant 构建文件build.xml(转)

Ant 构建文件build.xml

Ant 构建文件build.xml

每个Ant构建文件由单个project元素组成,该元素又包含一个或多个target元素。顶级project元素需要包含一个default属性,
如果在Ant被调用时没有指定目标,这个属性将指定要执行的目标。然后需要使用target元素来定义该目标本身。下面是一个基本
的Ant构建文件:
<?xml version = "1.0"?>
<project default="init" name="Project Student">
    <target name="init" description="Initialize Student database">
    </target>
</project>

Ant 都是有自己的执行顺序的例如下面:
<target name="init"/>
<target name="preprocess" depends="init"/>
<target name="compile" depends="init,preprocess"/>

如果要执行上面的例子,如果让Ant完成compile目标,它将判断出需要首先执行init和preprocess这两个目标。init目标不依赖其他任何
目标,因此它将首先被执行。然后检查preprocess目标,发现它依赖init目标;由于已经执行了init,Ant不会再次执行它,因而开始
执行preprocess目标。最后可以执行compile目标。注意目标出现在构建文件中的顺序并不重要,执行顺序是由depends属性唯一确定的。

编译代码:

1>javac任务
下面是编译java代码任务的编码方式:
<javac srcdir="src"/>
这个标记的含义是寻找src目录中以(.java)为扩展名的所有文件,并对它们调用javac编译器,从而在相同的目录中生成类文件。当然,
将类文件放在一个单独的目录结构中通常会更清晰;可以通过添加destdir属性来让Ant做到这点。例如:
<javac srcdir="src" destdir="classes"/>

其他属性包括:
||classthpath: 等价于javac的-classpath选项
||debug="true": 指示编译器应该带调试信息编译源文件。


2> jar任务

在编译Java源文件后,所生成的类文件通常被打包到一个JAR文件中。这个文件类似zip压缩文件。每个JAR文件都包含一个清单文件,它
可以指定该JAR文件的属性。
下面是Ant中jar任务一个简单例子:
<jar destfile="test.jar" basedir="classes"/>

该语句将创建一个名为test.jar的JAR文件,并把classes目录中的所有文件添加到其中。

文件系统操作
Ant还能执行常见文件操作,例如创建目录和解压缩文件。Ant的优秀特性之一在于执行这些操作的任务一般在所有平台上都是相同的。
最基本的文件系统操作之一就是创建目录或文件夹。Ant使用mkdir任务来完成这项工作,如下面语句所示:
<mkdir dir="university/tsinggua/autodepartment"/>
mkdir任务另一个有用的特性是,在父目录还不存在时创建它们。
删除目录同样也很容易:
<delete dir="university/tsinghua/autodepartment"/>
这将删除执行的目录连同它包含的所有文件及子目录。使用file属性而不是dir属性可以指定要删除单独的单个文件。

用Ant制作文件的一份副本很容易,例如:
<copy file="src/test.java" tofile="TestCopy.jar"/>

还可以使用move来执行重命名操作而不是复制文件:
<move file="src/Test.java" tofile="src/TestCopy.jar"/>

另一个常用的文件系统操作是将文件复制或移动到另一个目录。例如:
<copy file="src/Test.java" todir="archive"/>
<move file="src/Test.java" todir="archive"/>

Ant 也可以创建zip文件,例如:
<zip destfile="out.zip" basedir="output"/>
Ant 还可以创建tar文件,也可以使用GZIP和BZIP任务来压缩文件,例如:
<tar destfile="output.jar" basedir="output"/>
<gzip src="outpu.jar" zipfile="output.tar.gz"/>

解压缩和提取文件的方法如下:
<unzip src="output.tar.gz" dest="extractDir"/>

转自:http://neil-jh.javaeye.com/blog
posted @ 2008-10-24 21:54  Earl_86  阅读(1054)  评论(0编辑  收藏  举报