Ant - 创建 JAR 文件
编译 Java 源文件后的下一个逻辑步骤是构建 Java 存档,即 Java 存档 (JAR) 文件。 通过 jar 任务使用 Ant 创建 JAR 文件非常容易。
属性
jar 任务的常用属性如下 −
序号 | 属性 & 描述 |
---|---|
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 文件现在放置在输出文件夹中。