ZipFileSet

<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 设置。prefixfullpath 属性不能在同一个 fileset 上同时设置。

当使用 src 属性时,includesexcludes 模式可用于指定存档的子集,以与 dir 属性一样包含在存档中。

请注意,目前只有 tarzip 任务使用权限。

作为嵌套元素指定的参数

任何基于文件系统的 资源 或单个元素资源集合

指定的资源将用作 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