Estou usando um POM pai que define um plug-in que não quero que seja executado em um POM filho. Como posso desativar completamente o plug-in no child pom?
Restrição: Não consigo alterar o POM principal.
O seguinte funciona para mim ao desativar o Findbugs em um POM filho:
<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>
Nota: a definição completa do plug-in Findbugs está em nosso pai / super POM, portanto herdará a versão e assim por diante.
No Maven 3, você precisará usar:
<configuration>
<skip>true</skip>
</configuration>
para o plugin.
<id>…</id>
parte do POM pai, então funcionou para mim.<skip>
parâmetro.Veja se o plugin possui um parâmetro de configuração 'skip'. Quase todos fazem. se isso acontecer, basta adicioná-lo a uma declaração no filho:
Caso contrário, use:
fonte
O tópico é antigo, mas talvez alguém ainda esteja interessado. A forma mais curta que encontrei é uma melhoria adicional no exemplo de λlex e bmargulies. A tag de execução será semelhante a:
2 pontos que quero destacar:
Após a publicação, ela já está no stackoverflow: em um projeto com vários módulos do Maven, como posso desativar um plug-in em um filho?
fonte
Eu sei que esse tópico é muito antigo, mas a solução de @Ivan Bondarenko me ajudou na minha situação.
Eu tinha o seguinte no meu
pom.xml
.O que eu queria era desativar a execução de
generate-citrus-war
um perfil específico e esta era a solução:fonte