Apache Ant 任务 - JAR



描述

Jar 任务将一组文件打包成 JAR 文件。

属性

序号 属性及描述
1

Destfile

要创建的 JAR 文件。

2

Basedir

打包文件的目录。

3

Compress

不仅存储数据,还压缩它们。除非将 keepcompression 属性设置为 false,否则这将应用于整个归档文件,而不仅仅是更新时添加的文件。

4

Keepcompression

对于来自现有归档文件(如嵌套的 zipfileset 或更新归档文件时)的条目,请保持其原始压缩方式,而不是使用 compress 属性。

5

Encoding

用于归档文件内文件名的字符编码。

6

Filesonly

仅存储文件条目。

7

Include

要包含的文件模式的逗号或空格分隔列表。

8

Includesfile

文件名。此文件的每一行都被视为一个包含模式。

9

Excludes

要排除的文件模式的逗号或空格分隔列表。

10

Excludesfile

文件名。此文件的每一行都被视为一个排除模式。

11

Defaultexcludes

指示是否应使用默认排除项(yes|no)。

12

Menifest

要使用的清单文件。

13

Filesetmanifest

在 zipfileset 或 zipgroupfileset 文件中找到清单文件时的行为。有效值为 skip、merge 和 mergewithoutmain。merge 将合并所有清单,并将此合并到任何其他指定的清单中。mergewithoutmain 合并所有内容,但清单的主部分除外。

14

Whenmanifestonly

当没有文件匹配时的行为。有效值为 fail、skip 和 create。

15

Manifestencoding

用于读取 JAR 清单的编码,当指定清单文件时。

16

Index

是否创建索引列表以加快类加载速度。除非使用嵌套的 indexjars 元素指定其他 jar,否则只有此 jar 的内容将包含在索引中。

17

indexMetaInf

是否将 META-INF 及其子项包含在索引中。如果 index 为 false,则没有任何效果。Oracle 的 jar 实现过去会跳过 META-INF 目录,而 Ant 遵循了该示例。Java 5 已更改了此行为。为了避免 Ant 生成的 jar 在 Java 1.4 或更早版本上出现问题,除非明确要求,否则 Ant 不会包含 META-INF。

18

Manifestencoding

用于读取 JAR 清单的编码,当指定清单文件时。

19

Update

指示如果目标文件已存在,是否更新或覆盖它。

20

Duplicate

找到重复文件时的行为。有效值为 add、preserve 和 fail。

21

Roundup

文件修改时间是否将四舍五入到下一个偶数秒。

22

Level

应执行文件压缩的非默认级别。有效值范围为 0(无压缩/最快)到 9(最大压缩/最慢)。

23

preserve0permissions

更新归档文件或从其他归档文件添加条目时,Ant 将假设 Unix 权限值为 0(没有人被允许对文件/目录执行任何操作)意味着权限根本没有存储,而不是实际权限,并将应用其自己的默认值。

24

useLanguageEncodingFlag

如果编码为 UTF-8,是否设置语言编码标志。如果编码不是 UTF-8,则此设置没有任何效果。

25

createUnicodeExtraFields

是否创建 Unicode 额外字段以在条目的元数据中第二次存储文件名。

26

fallbacktoUTF8

如果无法使用指定的编码对文件名进行编码,是否使用 UTF-8 和语言编码标志而不是指定的编码。

27

mergeClassPathAttributes

是否合并不同清单中找到的 Class-Path 属性(如果合并清单)。如果为 false,则仅保留最后一个合并的清单的属性。

28

flattenAttributes

是否将某个部分中多次出现的属性(这只能发生在 Class-Path 属性中)合并到单个属性中。

29

zip64Mode

何时对条目使用 Zip64 扩展。可能的值为 never、always 和 as-needed。

示例

用法

创建包含以下内容的 build.xml 文件:

<?xml version="1.0"?>
<project name="TutorialPoint" default="info">
   <target name="info">
      <jar basedir="app" destfile="app.jar" />
      <echo>jar created.</echo>
   </target>
</project>

上述脚本将在当前目录中创建一个名为 myapp.ear 的 EAR 文件。

输出

在上述构建文件上运行 Ant 会产生以下输出:

F:\tutorialspoint\ant>ant
Buildfile: F:\tutorialspoint\ant\build.xml

info:
   [jar] Building jar: F:\tutorialspoint\ant\app.jar
   [echo] jar created.

BUILD SUCCESSFUL
Total time: 0 seconds
广告