<zipfileset>
是 <fileset>
的特殊形式,它可以有 2 種不同的行為
<zipfileset>
支援 <fileset>
的所有屬性,以及下列所列的屬性。請注意,一般的 zip 檔案不包含以斜線開頭的條目,因此您也不應使用以斜線開頭的 includes/excludes 模式。
自 Ant 1.6 起,可以使用 id 屬性定義 zipfileset,並使用 refid 屬性來參照它。
屬性 | 說明 | 必要 |
---|---|---|
prefix | 檔案集中的所有檔案都以該路徑為前綴加到檔案庫中。 | 否 |
fullpath | 檔案集描述的檔案會放置在檔案庫中的那個確切位置。 | 否 |
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,檔案集將會被忽略/清空。自 Ant 1.8.0 起 |
否;預設為 true |
僅能為代表單一檔案的檔案集設定 fullpath 屬性。無法在同一個檔案集上同時設定 prefix 和 fullpath 屬性。
使用 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