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