Переопределение свойств модуля из родительского ПОМ в Maven

Можно ли переопределить свойства модуля из родительского pom без изменения модуля pom?

Например:

модуль pom (я не могу его вообще изменить):

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

parent pom:

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

эффективный модуль pom:

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

Если да, то как его достичь?

Ответы

Ответ 1

Только так, как я знаю, для этого нужно определить свойство в командной строке, например. mvn -DsomeProperty=strongValue <mvn goals/phases here>.

Вы можете экспериментировать с профилями, определенными в родительском; Я подозреваю, что это не поможет.

Ответ 2

Нет, вы не можете. Идея состоит в том, что если не следует переопределять значение, не используйте свойство. Если у вас нет другого варианта, вы можете заставить его с помощью http://maven.apache.org/enforcer/enforcer-rules/requireProperty.html, который разбивает сборку, если свойство имеет другое значение, чем ожидалось.

Ответ 3

Дочерний POM может перезаписать значение свойства, определенного в родительском pOM. Так что это работает, просто поместив раздел в дочерний POM и установив значения на желаемые значения.