位置:首頁 > Java技術 > ANT > Ant創建JAR文件

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文件放置在輸出文件夾。