Ant - 创建 JAR 文件

编译 Java 源文件后的下一个逻辑步骤是构建 Java 存档,即 Java 存档 (JAR) 文件。 通过 jar 任务使用 Ant 创建 JAR 文件非常容易。


属性

jar 任务的常用属性如下 −

excludesfile 的倒数。
序号 属性 & 描述
1

basedir

输出 JAR 文件的基本目录。 默认情况下,这设置为项目的基本目录。

2

compress

建议 Ant 在创建 JAR 文件时压缩文件。

3

keepcompression

虽然 compress 属性适用于单个文件,但 keepcompression 属性做同样的事情,但它适用于整个存档。

4

destfile

输出 JAR 文件的名称。

5

duplicate

当发现重复文件时,向 Ant 提供建议。 您可以添加、保留或失败重复文件。

6

excludes

建议 Ant 不要在包中包含这些逗号分隔的文件列表。

7

excludesfile

与上面相同,除了使用模式指定排除文件。

8

inlcudes

excludes 的倒数。

9

includesfile

Inverse of excludesfile.

10

update

建议 Ant 覆盖已构建的 JAR 文件中的文件。

继续我们的 Hello World Fax 应用程序项目,让我们添加一个新目标来生成 jar 文件。

但在此之前,让我们考虑下面给出的 jar 任务。

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

此处,web.dir 属性指向 Web 源文件的路径。 在我们的例子中,这是放置 util.jar 的地方。

此示例中的 build.dir 属性指向构建文件夹,可以在其中找到 util.jar 的类文件。

在此示例中,我们使用 faxapp.util.* 包中的类创建了一个名为 util.jar 的 jar 文件。 但是,我们排除了以名称 Test 结尾的类。 输出的 jar 文件将放置在 web 应用程序 lib 文件夹中。

如果我们想让 util.jar 成为可执行的 jar 文件,我们需要添加带有 Main-Class 元属性的 manifest

因此,上面的例子将更新如下 −

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

要执行 jar 任务,请将其包装在目标中,最常见的是构建或打包目标,然后执行它们。

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

在这个文件上运行 Ant 会为我们创建 util.jar 文件。

下面的结果是运行Ant文件的结果 −

C:\ class="ts"ant build-jar
Buildfile: C:\build.xml

BUILD SUCCESSFUL
Total time: 1.3 seconds

util.jar 文件现在放置在输出文件夹中。