0

多くの子モジュールを持つマスター/子 pom プロジェクトがあります。一部の子モジュールについては、基本的にプロパティ ファイルを読み取って jboss のデプロイ場所を設定する一連のタスクのみを実行する必要があります。

現在、ビルド セクションをいくつかの POM にコピーしており、これが警鐘を鳴らし始めています。私は本当にこれを一度書いて、それを何度も使うべきです.

これにより、私は哲学的な道を歩み始めました。

a) マスター POM でプロファイルを作成し、子 POM を実行するときにこのプロファイルを有効にして、親 POM から定義された機能を使用できると思います。これにより、1 つの親 : 多くの子の代わりに現在の構造が保持されます。また、子でビルドを行う人が -P コマンドラインオプションを使用する必要がないように、子 POM でそのプロファイルを実際にアクティブ化できるでしょうか?

b) 既存の親/マスター POM を祖父母に変更し、マスター POM を新しい親 pom に継承して、プロパティの読み取り/jboss デプロイ機能をこの新しい親に追加することができます。この機能を必要とする子 POM は、新しい親から継承され、祖父父息子の継承が可能になります。これは、ビルドを行う人が別のレベルの継承を犠牲にしてコマンドラインを覚える必要がないことを意味します。

質問は、どの方法が「maven way」ですか?

4

1 に答える 1

1

残念ながら、オプション a) は Maven ではサポートされていません。同様の状況を解決して、child-enables-profile-defined-in-parent ビットを試してみましたが、うまくいかないことがわかりました。詳細は StackOverflow の他の場所にあります。

以前に狩りをしたときに見つけられなかったので、公式のベストプラクティスがあるかどうかはわかりません。祖父母/親/子 POM と<pluginManagement> 構成の組み合わせを使用しました。

<pluginManagement>最初に親POMを試してみます。それがニーズを完全に満たしていない場合は、追加の POM レベルが機能する可能性があります。幸運を!

于 2012-09-20T15:57:56.910 に答える