私はマルチモジュールのプロジェクトを持っています。それには5つのモジュールがあり、そのうち2つはWebプロジェクトです。戦争プロジェクトのみの親のpomとmavenの目標
私はプラグインをカスタマイズして戦争プロジェクトでのみ実行したいと考えています。私は親のポンのレベルで私は私の目標を引き起こしたいと思い、私の戦争プロジェクトだけが影響を受けることを意味します。それのための方法はありますか?
この結果、私は戦争プロジェクトpomで重複した設定を行うことはありません。
おかげ
私はマルチモジュールのプロジェクトを持っています。それには5つのモジュールがあり、そのうち2つはWebプロジェクトです。戦争プロジェクトのみの親のpomとmavenの目標
私はプラグインをカスタマイズして戦争プロジェクトでのみ実行したいと考えています。私は親のポンのレベルで私は私の目標を引き起こしたいと思い、私の戦争プロジェクトだけが影響を受けることを意味します。それのための方法はありますか?
この結果、私は戦争プロジェクトpomで重複した設定を行うことはありません。
おかげ
あなたは(あなたの戦争のプロジェクトが継承されている)戦争の親ポンポンと(誰もが継承される)一般的な親ポンポンを構築することができます。
general parent
/ \ \
war parent \ \
/\ \ \
war1 war2 other1 other2
ビルドには、上記のすべてをモジュールとして持つ別々のビルドpomがある場合があります。
HTH
私は同じ問題に何度も直面していると私は次のように最善の解決策であるという結論になってきた:
cool-master
|-+ parents
| |- cool-parent
| |- cool-parent-web
|
|- module1
|- module2
|- module3
|- module-web1
|- module-web2
上記の例では、モジュールの3種類があります。
親POM-S(cool-parent
、cool-parent-web
)
(cool-parent
を拡張する)非ウェブAPS
Webアプリケーション(cool-parent-web
の延長)の両親で
。たとえば、cool-parent
ではwebapp以外のものを定義しています。cool-parent-web
にはmaven-war-plugin
,jetty-maven-plugin
などの空想的なものをすべて入れることができます。cool-parent-web
はcool-parent
を拡張して、依存関係やプラグインの設定を重複しないようにします。
cool-parent-web
セクションでは、<pluginManagement/>
セクションを定義し、プラグイン用のすべてのものを設定してから、それらのプラグインをWebモジュール間で使用してください。
+1プロジェクト間ですべてのWARモジュール*に対して親POMを持つ必要がある場合、あなたは破壊されます。プロファイルではいくつかのトリックが可能ですが、継承ほどのトリックは許されません。 –