Я использую родительский POM, который определяет плагин, который я не хочу запускать в дочернем POM. Как полностью отключить плагин в дочернем помпе?
Ограничение: Я не могу изменить сам родительский POM.
Следующее работает для меня при отключении Findbugs в дочернем POM:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<executions>
<execution>
<id>ID_AS_IN_PARENT</id> <!-- id is necessary sometimes -->
<phase>none</phase>
</execution>
</executions>
</plugin>
Примечание: полное определение плагина Findbugs находится в нашем POM родительского / супер POM, поэтому он унаследует версию и так далее.
В Maven 3 вам нужно будет использовать:
<configuration>
<skip>true</skip>
</configuration>
для плагина.
<id>…</id>
часть родительского POM, тогда это работало для меня.<skip>
параметр.Посмотрите, есть ли у плагина параметр конфигурации 'skip'. Почти все делают. если это так, просто добавьте его в объявление в дочернем элементе:
Если нет, то используйте:
источник
Нить старая, но может кто-то еще заинтересовался. Самая короткая форма, которую я нашел, - это дальнейшее улучшение на примере из λlex и bmargulies. Тег выполнения будет выглядеть так:
2 балла, которые я хочу выделить:
После публикации обнаружил, что он уже находится в stackoverflow: в многомодульном проекте Maven, как я могу отключить плагин в одном дочернем элементе?
источник
Я знаю, что эта ветка действительно старая, но решение от @Ivan Bondarenko помогло мне в моей ситуации.
У меня было следующее в моем
pom.xml
.То, что я хотел, было отключить выполнение
generate-citrus-war
для определенного профиля, и это было решение:источник