TarFileSet

TarFileSetApache Ant 1.7 起成为独立类型。

<tarfileset><fileset> 的一种特殊形式,它可以以两种不同的方式运行。

<tarfileset> 支持 <fileset> 的所有属性,以及下面列出的属性。请注意,通常情况下,tar 归档文件不包含以斜杠开头的条目,因此您也不应该使用以斜杠开头的 include/exclude 模式。

自 Ant 1.7 起,可以使用 id 属性定义 tarfileset,并使用 refid 属性引用它。

参数

属性 描述 必需
prefix fileset 中的所有文件在归档文件中都以该路径为前缀。
fullpath fileset 描述的文件将放置在归档文件的精确位置。
src 可以代替 dir 属性使用,以指定一个 tar 文件,其内容将被提取并包含在归档文件中。
filemode 一个 3 位八进制字符串,以标准的 Unix 方式指定用户、组和其他模式。仅适用于普通文件。 否;默认值为 644
dirmode 一个 3 位八进制字符串,以标准的 Unix 方式指定用户、组和其他模式。仅适用于目录。 否;默认值为 755
username tar 条目的用户名。这与 UID 不同。
group tar 条目的组名。这与 GID 不同。
uid tar 条目的用户标识符 (UID)。这是一个整数值,与用户名不同。
gid tar 条目的组标识符 (GID)。
erroronmissingarchive 指定如果归档文件不存在会发生什么。如果为 true,则会发生构建错误;如果为 false,则会忽略/清空 fileset。自 Ant 1.8.0 起 否;默认为 true
encoding 用于 zip 文件中文件名字符编码。有关可能值的列表,请参阅 支持的编码自 Ant 1.9.5 起 否;默认为默认 JVM 字符编码

fullpath 属性只能为表示单个文件的 fileset 设置。prefixfullpath 属性不能在同一个 fileset 上同时设置。

当使用 src 属性时,可以使用 includeexclude 模式来指定归档文件的一个子集,以便将其包含在归档文件中,就像使用 dir 属性一样。

请注意,目前只有 tar 任务使用权限和所有权属性。

作为嵌套元素指定参数

任何 资源 或单个元素资源集合

指定的资源将用作 src。

示例

<copy todir="some-dir">
 <tarfileset includes="lib/**">
   <bzip2resource>
     <url url="https://example.org/dist/some-archive.tar.bz2"/>
   </bzip2resource>
 </tarfileset>
</copy>

下载归档文件 some-archive.tar.bz2,动态解压缩并提取它,将 lib 目录的内容复制到 some-dir 中,并丢弃归档文件的其余部分。将比较归档文件条目和目标目录中的文件之间的文件时间戳,除非文件已过期,否则不会覆盖任何文件。