組み込みのライフサイクル リファレンスを見ると、ライフサイクルのどの時点でも<packaging>war</packaging>
、war:manifest
目標がどのフェーズにも結び付いていないことがわかります。
したがって、デフォルトでは、このゴールは実行されません (実行を追加しない限り)。
MANIFEST.MF
その時点でファイルがある${basedir}/src/main/webapp/META-INF/MANIFEST.MF
場合、ゴールが実行されているときに、中間ファイルを作成せずにオンザフライでwar:war
生成してファイルに直接埋め込むのではなく、そのファイルを使用します。MANIFEST.MF
.war
私が知る限り、war:manifest
目標はテンプレートを生成するために使用されるように設計されており、MANIFEST.MF
それをカスタマイズして今後使用することができます.
war プラグインにはいくつかの目標があり、それらを避けることをお勧めします。
その理由は、これらの両方の目標がsrc
ツリー内のファイルを変更するためです。これは、ファイルに触れるだけの標準的な Maven の慣行に反するためです(ターゲットを削除するだけでtarget
よいため、非常に便利です)。mvn clean
あなたの質問に関して、重要なことは、別のアーティファクトを生成していることです。Maven モジュールごとに 1 つのアーティファクトに固執する場合、Maven は最適に機能します。したがって、個別のアーティファクトには個別のモジュールがあります。を依存関係として追加し.war
(覚えておいてください<type>war</type>
) 、ファイルdependency:unpack-dependencies
を解凍するために使用し.war
ます... のみを解凍することができます。それが最終META-INF/MANIFEST.MF
的にtarget/${project.build.finalName/META-INF/MANIFEST.MF
この2番目のアーティファクトをパックするときに、同じマニフェストがあることを確認しますあなたの.war
ファイルとして。