エンタープライズアプリケーションアーカイブに格納されるべきファイルを特別に扱う、Jarタスクの拡張です。
(Ear
タスクは、EARファイルの特定のレイアウトを指定するためのショートカットです。Zip
またはJar
タスクで、zipfilesetのprefixおよびfullpath属性を使用することで同じことを実現できます。)
Zip
タスクの拡張されたzipfileset要素(属性prefix、fullpath、src付き)は、Ear
タスクで使用できます。
zip形式では、同じ完全修飾名を持つ複数のファイルが1つのアーカイブ内に存在できます。これが、不審なユーザーにさまざまな問題を引き起こすことが文書化されています。この動作を回避したい場合は、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 | ファイルの名前。このファイルの各行は、includeパターンとして扱われます。 | いいえ |
excludes | 除外する必要があるファイルのパターンを、カンマ区切りまたはスペース区切りでリストします。 | いいえ。デフォルトは、デフォルトの除外、またはdefaultexcludesがnoの場合はなし |
excludesfile | ファイルの名前。このファイルの各行は、excludeパターンとして扱われます。 | いいえ |
defaultexcludes | デフォルトの除外を使用するかどうかを示します(yes|no)。 |
いいえ。デフォルトはyes |
manifest | 使用するマニフェストファイル。 | いいえ |
filesetmanifest | zipfileset またはzipgroupfileset ファイルでマニフェストファイルが見つかった場合の動作。有効な値は、skip、 merge、および mergewithoutmainです。 mergeはすべてのマニフェストをマージし、これを他の指定されたマニフェストにマージします。 mergewithoutmainは、マニフェストのMainセクションを除くすべてをマージします。 |
いいえ。デフォルトは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秒単位で格納するため、時間は切り上げまたは切り下げられます。切り下げると、タスクを再実行するとアーカイブは常に古く見えてしまうため、デフォルトでは切り上げられます。切り上げると、プリコンパイル済みのページよりもわずかに新しいように見えるWebアーカイブ内のJSPなど、別の種類の問題が発生する可能性があります。これによりプリコンパイルが無意味になります。 Ant 1.6.2以降 |
いいえ。デフォルトはtrue |
level | ファイル圧縮を実行する非デフォルトのレベル。有効な値は、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 | ファイル名をエントリのメタデータ内に2回格納するために、Unicodeエクストラフィールドを作成するかどうか。 可能な値は、 never、 always、および指定されたエンコーディングを使用してファイル名をエンコードできない場合にのみUnicodeエクストラフィールドを追加する not-encodeableです。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 属性でのみ発生する可能性があります)を1つの属性にマージするかどうか。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を指定します。このfilesetに含まれるすべてのファイルは、earファイルのMETA-INFディレクトリに格納されます。このfilesetにMANIFEST.MFという名前のファイルが含まれている場合、ファイルは無視され、警告が表示されます。
これらは<jar>から継承されます。
<ear destfile="${build.dir}/myapp.ear" appxml="${src.dir}/metadata/application.xml"> <fileset dir="${build.dir}" includes="*.jar,*.war"/> </ear>