2015-10-05 3 views
0

Проект 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 в родительском и другим в ребенке без того, чтобы они мешали друг другу?

ответ

0

Прочитано this Запись в блоге, как объединить конфиги. Это может решить вашу проблему.

0

Насколько я помню, вы могли бы просто настроить другой раздел Executions в дочернем помпе, и все ссылки на плагин родителя исчезнут.

+0

Это не работает «просто настроить другой раздел казни в детском П». На самом деле это проблема. Ребенок перезаписывает родителя, и только 'test.property2' становится доступным, а' test.property1' - 'null' – dokaspar

 Смежные вопросы

  • Нет связанных вопросов^_^