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">
要執行jar任務,一個目標裏面把它包(最常見,構建或包的目標,並運行它們。
<target name="build-jar"> <jar destfile="${web.dir}/lib/util.jar" basedir="${build.dir}/classes" includes="faxapp/util/**" excludes="**/Test.class">
在這個文件運行Ant會爲我們創建util.jar文件
下面的結果是運行Ant文件的結果:
C:>ant build-jar Buildfile: C:uild.xml
BUILD SUCCESSFUL Total time: 1.3 seconds
現在的util.jar文件放置在輸出文件夾。