Ear

説明

エンタープライズアプリケーションアーカイブに格納されるべきファイルを特別に扱う、Jarタスクの拡張です。

(Earタスクは、EARファイルの特定のレイアウトを指定するためのショートカットです。ZipまたはJarタスクで、zipfilesetのprefixおよびfullpath属性を使用することで同じことを実現できます。)

Zipタスクの拡張されたzipfileset要素(属性prefixfullpathsrc付き)は、Earタスクで使用できます。

zip形式では、同じ完全修飾名を持つ複数のファイルが1つのアーカイブ内に存在できます。これが、不審なユーザーにさまざまな問題を引き起こすことが文書化されています。この動作を回避したい場合は、duplicate属性をデフォルト値のadd以外の値に設定する必要があります。

パラメータ

属性 説明 必須
destfile 作成するEARファイル。 はい
appxml 使用するデプロイメント記述子(META-INF/application.xml)。 updatetrueに設定されていない場合は必須
basedir ファイルをjar化するディレクトリ。 いいえ
compress データを格納するだけでなく、圧縮もします。keepcompression属性をfalseに設定しない限り、これはアーカイブ全体に適用され、更新中に追加したファイルのみには適用されません。 いいえ。デフォルトはtrue
keepcompression 既存のアーカイブ(ネストされたzipfilesetやアーカイブの更新時など)から取得したエントリについては、compress属性を使用する代わりに、元の圧縮を保持します。Apache Ant 1.6以降 いいえ。デフォルトはfalse
encoding アーカイブ内のファイル名に使用する文字エンコーディング。作成されたアーカイブがJavaで読めなくなる可能性が非常に高いため、この値を変更することはお勧めしません。
zipタスクページの議論も参照してください。
いいえ。デフォルトはUTF8
filesonly ファイルエントリのみを格納します。 いいえ。デフォルトはfalse
includes 含める必要があるファイルのパターンを、カンマ区切りまたはスペース区切りでリストします。 いいえ。デフォルトはすべて(**
includesfile ファイルの名前。このファイルの各行は、includeパターンとして扱われます。 いいえ
excludes 除外する必要があるファイルのパターンを、カンマ区切りまたはスペース区切りでリストします。 いいえ。デフォルトは、デフォルトの除外、またはdefaultexcludesnoの場合はなし
excludesfile ファイルの名前。このファイルの各行は、excludeパターンとして扱われます。 いいえ
defaultexcludes デフォルトの除外を使用するかどうかを示します(yes|no)。 いいえ。デフォルトはyes
manifest 使用するマニフェストファイル。 いいえ
filesetmanifest zipfilesetまたはzipgroupfilesetファイルでマニフェストファイルが見つかった場合の動作。有効な値は、skipmerge、およびmergewithoutmainです。mergeはすべてのマニフェストをマージし、これを他の指定されたマニフェストにマージします。mergewithoutmainは、マニフェストのMainセクションを除くすべてをマージします。 いいえ。デフォルトはskip
whenmanifestonly 一致するファイルがない場合の動作。有効な値は、failskip、および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 重複するファイルが見つかった場合の動作。有効な値は、addpreserve、および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エクストラフィールドを作成するかどうか。
可能な値は、neveralways、および指定されたエンコーディングを使用してファイル名をエンコードできない場合にのみ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以降
flattenAttributestrueに設定しない限り、これは、マニフェスト仕様に違反する複数のClass-Path属性を含むマニフェストになる可能性があります。
いいえ。デフォルトはfalse
flattenAttributes セクションに複数回出現する属性(これはClass-Path属性でのみ発生する可能性があります)を1つの属性にマージするかどうか。Ant 1.8.0以降 いいえ。デフォルトはfalse
zip64Mode エントリにZip64拡張機能を使用するタイミング。可能な値は、neveralways、およびas-neededです。Ant 1.9.1以降
zipタスクページの議論も参照してください。
いいえ。デフォルトはnever
modificationtime 格納されたすべてのファイル変更時間を指定された時間に設定します。これは、1970-01-01T00:00:00Zからのミリ秒数として解釈される数値、またはオプションのタイムゾーンを持つISO 8601タイムスタンプとして解析できる文字列のいずれかです。Ant 1.10.2以降 いいえ

ネストされた要素として指定されたパラメータ

metainf

ネストされたmetainf要素は、FileSetを指定します。このfilesetに含まれるすべてのファイルは、earファイルのMETA-INFディレクトリに格納されます。このfilesetにMANIFEST.MFという名前のファイルが含まれている場合、ファイルは無視され、警告が表示されます。

manifest, indexjars, service

これらは<jar>から継承されます。

<ear destfile="${build.dir}/myapp.ear" appxml="${src.dir}/metadata/application.xml">
  <fileset dir="${build.dir}" includes="*.jar,*.war"/>
</ear>