Ant 简明教程
Ant - Creating JAR files
在编译完 java 源文件后的下一个逻辑步骤,就是构建 java 存档,即 Java 存档 (JAR) 文件。用 Ant 创建 JAR 文件非常容易,只需要 jar 任务。
Attributes
jar 任务常用的属性如下 −
Sr.No |
Attributes & Description |
1 |
basedir 输出 JAR 文件的基本目录。默认情况下,此目录设置为项目的基本目录。 |
2 |
compress 建议 Ant 在创建 JAR 文件时压缩该文件。 |
3 |
keepcompression 虽然 compress 属性适用于单个文件,但是 keepcompression 属性会执行同样的操作,但它适用于整个文档。 |
4 |
destfile 输出 JAR 文件的名称。 |
5 |
duplicate 当找到重复文件时,建议 Ant 执行什么操作。你可以添加、保留或让重复文件失败。 |
6 |
excludes 建议 Ant 不要在包中包含这些逗号分隔的文件列表。 |
7 |
excludesfile 与上述相同,不同之处在于排除文件是使用模式指定的。 |
8 |
inlcudes Inverse of excludes. |
9 |
includesfile Inverse of excludesfile. |
10 |
update 建议 Ant 覆盖已生成的 JAR 文件中的文件。 |
续我们的 Hello World 传真应用程序项目,让我们添加一个新目标来生成 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 属性指向 build 文件夹,此文件夹中可以找到 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 任务,请将其包装到目标内,最常见的是 build 或 package 目标,然后执行它们。
<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 文件现在放置在输出文件夹中。