Я использую родительский POM, который определяет плагин, который я не хочу запускать в дочернем POM. Как я могу полностью отключить плагин в дочерней помпе?
Ограничение: я не могу изменить родительский POM.
Я использую родительский POM, который определяет плагин, который я не хочу запускать в дочернем POM. Как я могу полностью отключить плагин в дочерней помпе?
Ограничение: я не могу изменить родительский POM.
Следующие действия для меня при отключении Findbugs в дочернем POM:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<executions>
<execution>
<phase>none</phase>
</execution>
</executions>
</plugin>
Примечание: полное определение плагина Findbugs находится в нашем родительском/суперподом, поэтому он наследует версию и так далее.
В Maven 3 вам нужно будет использовать:
<configuration>
<skip>true</skip>
</configuration>
для плагина.
Посмотрите, имеет ли плагин параметр конфигурации "skip". Почти все делают. если это так, просто добавьте его в объявление в дочернем элементе:
<plugin>
<groupId>group</groupId>
<artifactId>artifact</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
Если нет, используйте:
<plugin>
<groupId>group</groupId>
<artifactId>artifact</artifactId>
<executions>
<execution>
<id>TheNameOfTheRelevantExecution</id>
<phase>none</phase>
</execution>
</executions>
</plugin>
Тема старая, но, возможно, кому-то все еще интересно. Самая короткая форма, которую я нашел, является дальнейшим улучшением на примере из λlex и bmargulies. Тег выполнения будет выглядеть так:
<execution>
<id>TheNameOfTheRelevantExecution</id>
<phase/>
</execution>
2 пункта Я хочу выделить:
После публикации найденного он уже находится в stackoverflow: В мультимодульном проекте Maven, как отключить плагин у одного ребенка?