web-dev-qa-db-ja.com

Mavenでの親POMからのモジュールプロパティのオーバーライド

モジュールpomを変更せずに親pomからモジュールプロパティをオーバーライドすることは可能ですか?

例えば:

モジュールpom(私はまったく変更できません):

<properties>
    <someProperty>some value to be replaced</properties>
</properties>

親pom:

<properties>
    <someProperty>strongValue</someProperty> <!-- some magic here -->
</properties>

有効なモジュールpom:

<properties>
    <someProperty>strongValue</someProperty>
</properties>

はいの場合、それを達成する方法は?

22
zacheusz

いいえ、できません。つまり、値をオーバーライドできないようにする必要がある場合は、プロパティを使用しないでください。他にオプションがない場合は、 http://maven.Apache.org/enforcer/enforcer-rules/requireProperty.html を使用して強制することをお勧めします。これにより、プロパティに予想とは異なる値。

8
Robert Scholte

これを確実に行う唯一の方法は、コマンドラインでプロパティを定義することです。 mvn -DsomeProperty=strongValue <mvn goals/phases here>

親で定義されたプロファイルを試すことができます。それは役に立たないと思います。

9
user944849

子POMは、親pomで定義されたプロパティの値を上書きできます。したがって、子POMにセクションを配置し、値を目的の値に設定するだけで機能します。

0
kanaparthikiran