Ant創建JAR文件

編譯Java源文件後的下一個合乎邏輯的步驟,是建立在Java歸檔,JAR文件。創建JAR文件與Ant用jar任務很容易。以下展示的是jar任務的常用屬性

屬性

描述

basedir

The base directory for the output JAR file. By default, this is set to the base directory of the project.

compress

Advises ant to compress the file as it creates the JAR file.

keepcompression

While the compress attribute is applicable to the individual files, thekeepcompression attribute does the same thing, but it applies to the entire archive.

destfile

The name of the output JAR file

duplicate

Advises Ant on what to do when duplicate files are found. You could add, preserve or fail the duplicate files.

excludes

Advises Ant to not include these comma separated list of files in the package.

excludesfile

Same as above, except the exclude files are specified using a pattern.

inlcudes

Inverse of excludes

includesfile

Inverse of excludesfile.

update

Advises ant to overwrite files in the already built JAR file.

繼續我們的Hello World傳真應用程序項目,讓我們添加一個新的目標,產生的jar文件。但在此之前,讓我們考慮一下jar任務:

<jar destfile="${web.dir}/lib/util.jar" basedir="${build.dir}/classes" includes="faxapp/util/**" excludes="**/Test.class" />

在這個例子中,web.dir屬性指向的網頁源文件的路徑。在我們的例子中,這是其中的util.jar將被放置。

在這個例子中,build.dir屬性指向build文件夾在哪裏可以找到 util.jar的類文件。

在這個例子中,我們創建了一個名爲util.jar使用的類從faxapp.util一個jar文件。*包。然而,我們不包括用名稱測試結束課程。輸出的jar文件會發生在webapp的lib文件夾。

如果我們想使util.jar一個可執行JAR文件,我們需要添加清單與主Classmeta屬性。

因此,上面的例子將被更新爲:

<jar destfile="${web.dir}/lib/util.jar" basedir="${build.dir}/classes" includes="faxapp/util/**" excludes="**/Test.class"> <attribute name="Main-Class" value="com.yiibai.util.FaxUtil"/>

要執行jar任務,一個目標裏面把它包(最常見,構建或包的目標,並運行它們。

<target name="build-jar"> <jar destfile="${web.dir}/lib/util.jar" basedir="${build.dir}/classes" includes="faxapp/util/**" excludes="**/Test.class"> <attribute name="Main-Class" value="com.yiibai.util.FaxUtil"/>

在這個文件運行Ant會爲我們創建util.jar文件

下面的結果是運行Ant文件的結果:

C:>ant build-jar Buildfile: C:uild.xml

BUILD SUCCESSFUL Total time: 1.3 seconds

現在的util.jar文件放置在輸出文件夾。