Answers:
在禁用子POM中的Findbugs时,以下对我有用:
<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中,因此它将继承该版本等。
在Maven 3中,您需要使用:
<configuration>
<skip>true</skip>
</configuration>
用于插件。
<id>…</id>
父POM 的一部分,然后它对我有用。
<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多模块项目中,如何禁用一个孩子的插件?
我知道这个线程确实很旧,但是@Ivan Bondarenko的解决方案在我的情况下对我有所帮助。
我有以下内容pom.xml
。
<build>
...
<plugins>
<plugin>
<groupId>com.consol.citrus</groupId>
<artifactId>citrus-remote-maven-plugin</artifactId>
<version>${citrus.version}</version>
<executions>
<execution>
<id>generate-citrus-war</id>
<goals>
<goal>test-war</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
我想要的是禁用generate-citrus-war
特定配置文件的执行,这就是解决方案:
<profile>
<id>it</id>
<build>
<plugins>
<plugin>
<groupId>com.consol.citrus</groupId>
<artifactId>citrus-remote-maven-plugin</artifactId>
<version>${citrus.version}</version>
<executions>
<!-- disable generating the war for this profile -->
<execution>
<id>generate-citrus-war</id>
<phase/>
</execution>
<!-- do something else -->
<execution>
...
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>