Apache Ant Tasks - WAR

描述

War 任务是 Jar 任务的扩展,对最终应位于 Web 应用程序存档的 WEB-INF/lib、WEB-INF/classes 或 WEB-INF 目录中的文件进行特殊处理。


属性

序号 属性 & 描述
1

Destfile

要创建的 WAR 文件。

2

Webxml

要使用的 servlet 配置描述符 (WEB-INF/web.xml)。

3

Basedir

jar 文件所在的目录。

4

Compress

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

5

Keepcompression

对于来自现有存档的条目(例如嵌套的 zipfilesets 或在更新存档时),请保持原来的压缩,而不是使用 compress 属性。

6

Encoding

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

7

Filesonly

仅存储文件条目。

8

Include

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

9

includesfile

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

10

Excludes

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

11

Excludesfile

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

12

defaultexcludes

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

13

Menifest

要使用的清单文件。

14

Filesetmanifest

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

15

Whenmanifestonly

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

16

Manifestencoding

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

17

Index

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

18

indexMetaInf

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

19

Manifestencoding

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

20

Update

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

21

Duplicate

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

22

Roundup

文件修改时间是否会向上舍入到下一个偶数秒。

23

Level

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

24

preserve0permissions

当更新档案或添加来自不同档案的条目时,Ant 将假定 Unix 权限值为 0(不允许任何人对文件/目录做任何事情)意味着权限根本没有被存储,而不是真正的权限和 而是应用自己的默认值。

25

useLanguageEncodingFlag

如果编码为 UTF-8,是否设置语言编码标志。 如果编码不是 UTF-8,则此设置不起作用。

26

createUnicodeExtraFields

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

27

fallbacktoUTF8

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

28

mergeClassPathAttributes

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

29

FlattenAttributes

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

30

zip64Mode

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

31

Needxmlfile

指示是否需要 web.xml 文件的标志。 当生成没有 web.xml 文件的 servlet 2.5+ WAR 文件时,它应该设置为 false。


用法

示例

使用以下内容创建 build.xml −

<?xml version="1.0"?>
<project name="TutorialPoint" default="info">
   <target name="info">
      <war destfile="myapp.war" webxml="web.xml"></war>
   </target>
</project>

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


输出

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

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

info:
   [war] Building war: F:\tutorialspoint\ant\myapp.war

BUILD SUCCESSFUL
Total time: 1 second