Проект Maven Я работаю над наследуется от родительского POM, где некоторые проекта в масштабах переменные вычисляются путем выполнения gmaven-плагин на этапе валидации:Как избежать плагина Maven, определенного в родительском, для переопределения дочернего элемента?
Родитель POM:
<plugin>
<groupId>org.codehaus.gmaven</groupId>
<artifactId>gmaven-plugin</artifactId>
<version>1.5-jenkins-1</version>
<executions>
<execution>
<phase>validate</phase>
<goals><goal>execute</goal></goals>
<configuration>
<providerSelection>2.0</providerSelection>
<source>
project.properties.put("test.property1", "123");
</source>
</configuration>
</execution>
</executions>
</plugin>
Теперь я хотел бы использовать gmaven-плагин также в детском POM, чтобы вычислить и установить некоторые дополнительные параметры:
Детский POM:
<plugin>
<groupId>org.codehaus.gmaven</groupId>
<artifactId>gmaven-plugin</artifactId>
<version>1.5-jenkins-1</version>
<executions>
<execution>
<phase>validate</phase>
<goals><goal>execute</goal></goals>
<configuration>
<providerSelection>2.0</providerSelection>
<source>
project.properties.put("test.property2", "abc");
</source>
</configuration>
</execution>
</executions>
</plugin>
Однако это приводит к тому, что плагин, определенный в родительском элементе, исчезает/перезаписывается. Эффективный POM содержит только плагин, определенный ребенку, а test.property1
заканчивается как null
.
Как я могу выполнить плагин Maven в родительском и другим в ребенке без того, чтобы они мешали друг другу?
Это не работает «просто настроить другой раздел казни в детском П». На самом деле это проблема. Ребенок перезаписывает родителя, и только 'test.property2' становится доступным, а' test.property1' - 'null' – dokaspar