<zipfileset>
是 <fileset>
的一种特殊形式,它可以以两种不同的方式运行。
<zipfileset>
支持 <fileset>
的所有属性,以及下面列出的属性。请注意,zip 存档通常不包含以斜杠开头的条目,因此您也不应该使用以斜杠开头的 includes/excludes 模式。
自 Ant 1.6 起,zipfileset 可以使用 id 属性定义,并使用 refid 属性引用。
属性 | 描述 | 必需 |
---|---|---|
prefix | fileset 中的所有文件在存档中都以该路径为前缀。 | 否 |
fullpath | fileset 描述的文件将放置在存档中的确切位置。 | 否 |
src | 可以代替 dir 属性来指定一个 zip 文件,其内容将被提取并包含在存档中。 | 否 |
filemode | 一个 3 位八进制字符串,以标准 Unix 方式指定用户、组和其他模式。仅适用于普通文件。自 Ant 1.5.2 起 | 否;默认值为 644 |
dirmode | 一个 3 位八进制字符串,以标准 Unix 方式指定用户、组和其他模式。仅适用于目录。自 Ant 1.5.2 起 | 否;默认值为 755 |
encoding | 用于 zip 文件中文件名字符编码。有关可能值的列表,请参见 支持的编码。 | 否;默认为默认 JVM 字符编码 |
erroronmissingarchive | 指定如果存档不存在会发生什么。如果为 true,则会发生构建错误;如果为 false,则 fileset 将被忽略/为空。自 Ant 1.8.0 起 |
否;默认为 true |
fullpath 属性只能为表示单个文件的 fileset 设置。prefix 和 fullpath 属性不能在同一个 fileset 上同时设置。
当使用 src 属性时,includes 和 excludes 模式可用于指定存档的子集,以与 dir 属性一样包含在存档中。
指定的资源将用作 src。
<zip destfile="${dist}/manual.zip"> <zipfileset dir="htdocs/manual" prefix="docs/user-guide"/> <zipfileset dir="." includes="ChangeLog27.txt" fullpath="docs/ChangeLog.txt"/> <zipfileset src="examples.zip" includes="**/*.html" prefix="docs/examples"/> </zip>
将 htdocs/manual 目录中的所有文件压缩到存档中的 docs/user-guide 目录,将当前目录中的 ChangeLog27.txt 文件添加为 docs/ChangeLog.txt,并将 examples.zip 中的所有 html 文件包含在 docs/examples 下。存档最终可能包含以下文件
docs/user-guide/html/index.html docs/ChangeLog.txt docs/examples/index.html