Jar 任務的延伸,特別處理應結束於企業應用程式檔案中的檔案。
(Ear
任務是指定 EAR 檔案特定配置的捷徑。相同的事情也可以透過在 Zip
或 Jar
任務中使用 zipfilesets 的 prefix 和 fullpath 屬性來完成。)
Zip
任務的延伸 zipfileset 元素 (具有 prefix、fullpath 和 src 屬性) 可用於 Ear
任務。
請注意,zip 格式允許多個具有相同完整限定名稱的檔案存在於單一檔案中。這已被記錄為會對不知情的使用者造成各種問題。如果您想要避免這種行為,您必須將 duplicate 屬性設定為預設值 add
以外的值。
屬性 | 說明 | 必要 |
---|---|---|
destfile | 要建立的 EAR 檔案。 | 是 |
appxml | 要使用的部署描述符 (META-INF/application.xml)。 | 是,除非 update 設定為 true |
basedir | 要將檔案加入 jar 的目錄。 | 否 |
compress | 不僅儲存資料,還會壓縮它們。除非您將 keepcompression 屬性設定為 false,否則這將套用於整個檔案,而不僅是您在更新時新增的檔案。 |
否;預設為 true |
keepcompression | 對於來自現有檔案的項目 (例如巢狀的 zipfileset 或在更新檔案時),保留壓縮,就像它最初的樣子,而不是使用 compress 屬性。自 Apache Ant 1.6 起 |
否;預設為 false |
encoding | 要使用的檔案名稱字元編碼,在檔案中。不建議變更此值,因為建立的檔案很可能會無法被 Java 讀取。 請參閱 zip 任務頁面中的討論 |
否;預設為 UTF8 |
filesonly | 僅儲存檔案項目。 | 否;預設為 false |
includes | 必須包含的檔案模式的逗號或空格分隔清單。 | 否;預設為全部 (**) |
includesfile | 檔案名稱。此檔案的每一行都被視為包含模式。 | 否 |
excludes | 必須排除的檔案模式清單,以逗號或空白分隔。 | 否;預設為預設排除或無,如果 defaultexcludes 為 no |
excludesfile | 檔案名稱。此檔案的每一行都被視為排除模式。 | 否 |
defaultexcludes | 表示是否應使用預設排除 (yes|no)。 |
否;預設為 yes |
manifest | 要使用的清單檔。 | 否 |
filesetmanifest | 在 zipfileset 或 zipgroupfileset 檔案中找到清單檔時的行為。有效值為 skip、 merge和 mergewithoutmain。 merge會將所有清單檔合併在一起,並將其合併到任何其他指定的清單檔中。 mergewithoutmain會合併清單檔的所有內容,但主區段除外。 |
否;預設為 skip |
whenmanifestonly | 沒有檔案符合時的行為。有效值為 fail、 skip和 create。 |
否;預設為 create |
manifestencoding | 當指定清單檔時,用於讀取 JAR 清單檔的編碼。 | 否;預設為預設 JVM 字元編碼 |
index | 是否建立 索引清單 以加速類別載入。除非您使用巢狀 indexjars 元素指定其他 JAR,否則只有此 JAR 的內容才會包含在索引中。 |
否;預設為 false |
indexMetaInf | 是否將 META-INF 及其子目錄包含在索引中。如果 index 為 false,則不會產生任何效果。 Oracle 的 JAR 實作過去會略過 META-INF 目錄,而 Ant 也遵循此範例。此行為已在 Java 5 中變更。為了避免在 Java 1.4 或更早版本上使用 Ant 所產生的 JAR 發生問題,除非明確要求,否則 Ant 將不會包含 META-INF。 自 Ant 1.8.0 起. |
否;預設為 false |
update | 表示如果目標檔案已存在,是否要更新或覆寫它。 | 否;預設為 false |
duplicate | 找到重複檔案時的行為。有效值為 add、 preserve和 fail。 |
否;預設為 add |
roundup | 檔案修改時間是否會四捨五入到下一偶數秒數。 Zip 檔案儲存檔案修改時間的精確度為 2 秒,因此時間會向上或向下取整數。如果您向下取整數,則在您重新執行工作時,檔案會永遠顯示為過期,因此預設值是向上取整數。向上取整數可能會導致其他類型的問題,例如網路檔案中的 JSP 看起來比預編譯的頁面稍新,導致預編譯失效。 自 Ant 1.6.2 起 |
否;預設為 true |
層級 | 執行檔案壓縮時,非預設層級。有效值範圍從 0(無壓縮/最快)到 9(最大壓縮/最慢)。自 Ant 1.7 起 |
否 |
preserve0permissions | 在更新檔案或從其他檔案新增項目時,Ant 會假設 Unix 權限值 0(任何人都不允許對檔案/目錄執行任何操作)表示權限尚未儲存,而不是實際權限,並會套用其自己的預設值。 如果您真的想要保留原始權限欄位,請將此屬性設定為 true。自 Ant 1.8.0 起 |
否;預設為 false |
useLanguageEncodingFlag | 如果編碼為 UTF-8,是否設定語言編碼標記。如果編碼不是 UTF-8,此設定不會有任何影響。自 Ant 1.8.0 起。 請參閱 zip 任務頁面中的討論 |
否;預設值為 true |
createUnicodeExtraFields | 是否建立 Unicode 額外欄位,以將檔案名稱再次儲存在項目元資料中。 可能的值為 never、 always和 not-encodeable,後者僅在無法使用指定編碼編碼檔案名稱時,才會新增 Unicode 額外欄位。自 Ant 1.8.0 起。 請參閱 zip 任務頁面中的討論 |
否;預設值為 never |
fallbacktoUTF8 | 如果無法使用指定編碼編碼檔案名稱,是否使用 UTF-8 和語言編碼標記,而不是指定的編碼。自 Ant 1.8.0 起。 請參閱 zip 任務頁面中的討論 |
否;預設為 false |
mergeClassPathAttributes | 是否合併在不同清單中找到的 Class-Path 屬性(如果合併清單)。如果為 false,則只會保留最後一個合併清單的屬性。自 Ant 1.8.0 起。 除非您也將 flattenAttributes 設定為 true,否則可能會導致清單包含多個 Class-Path 屬性,這會違反清單規格。 |
否;預設為 false |
flattenAttributes | 是否將區段中出現多次的屬性(這只會發生在 Class-Path 屬性)合併成單一屬性。自 Ant 1.8.0 起。 |
否;預設為 false |
zip64Mode | 何時對項目使用 Zip64 延伸。可能的值為 never、 always和 as-needed。自 Ant 1.9.1 起。 請參閱 zip 任務頁面中的討論 |
否;預設值為 never |
modificationtime | 將所有儲存的檔案修改時間設定為指定時間。這可以是數字(解譯為自 1970-01-01T00:00:00Z 以來的毫秒數),或可以解析為 ISO 8601 時間戳記(含選用時區)的字串。自 Ant 1.10.2 起。 | 否 |
巢狀 metainf
元素指定 FileSet。此檔案集中所包含的所有檔案最後都會出現在 ear 檔案的 META-INF 目錄中。如果此檔案集包含名為 MANIFEST.MF 的檔案,則會忽略該檔案,且您會收到警告。
這些繼承自 <jar>
<ear destfile="${build.dir}/myapp.ear" appxml="${src.dir}/metadata/application.xml"> <fileset dir="${build.dir}" includes="*.jar,*.war"/> </ear>