Apache Ant Tasks 简明教程

Apache Ant Tasks - WAR

Description

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

Properties

Sr.No

Attributes & Description

1

Destfile 要创建的 WAR 文件。

2

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

3

Basedir 从中打包 JAR 文件的目录。

4

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

5

Keepcompression 对于源自现有存档的项(如嵌套 zipfileset 或在更新存档时),保持压缩,就像它最初创建时一样,而不使用 compress 属性。

6

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

7

Filesonly Store only file entries.

8

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

9

includesfile 文件名。该文件的每一行都将成为包含模式。

10

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

11

Excludesfile 文件的名称。此文件中的每一行都视为排除模式。

12

defaultexcludes 指出是否应使用默认排除项(yes

no).

13

Menifest 要使用的清单文件。

14

Filesetmanifest 在 zipfileset 或 zipgroupfileset 文件中找到清单文件时的行为。有效值包括:跳过、合并和合并而不进行主要处理。合并将把所有清单合并在一起,然后将此合并合并到任何其他指定清单中。合并而不进行主要处理将合并清单中的所有内容,但是不包括主部分。

15

Whenmanifestonly 当没有文件匹配时的行为。有效值包括:失败、跳过和创建。

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 找到重复文件时的行为。有效值包括:添加、保留和失败。

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 扩展。可能的值为永不、始终和按需。

31

Example

Usage

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

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

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

Output

在上述构建文件上运行 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