尽管配置了 2.7,但仍使用 cobertura-maven-plugin 2.6
cobertura-maven-plugin 2.6 is used despite 2.7 is configured
我的 POM 中有这个部分:
<reporting>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.7</version>
</plugin>
</plugins>
</reporting>
当我从终端调用此命令时:
mvn clean cobertura:cobertura
cobertura-maven-plugin
版本2.6使用:
[INFO] >>> cobertura-maven-plugin:2.6:cobertura (default-cli) > [cobertura]test @ myproject >>>
如果我也添加此部分:
<build>
<!-- ... -->
<plugins>
<!-- ... -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.7</version>
</plugin>
</plugins>
</build>
版本 2.7 按预期使用。这正常吗?
在第一个示例中,您仅将版本 2.7 中的 Cobertura 添加到 site
阶段生成的报告中。目标 cobertura:cobertura
是 bound to test
phase, which is separate lifecycle。
为了解决这样的问题,有pluginManagement
section。将以下内容添加到 POM:
<pluginManagement>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.7</version>
</plugin>
</plugins>
</pluginManagement>
在其他任何地方都使用 Cobertura 而无需提供版本:
<build>
<!-- ... -->
<plugins>
<!-- ... -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<!-- ... -->
<reporting>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
</plugin>
</plugins>
</reporting>
我的 POM 中有这个部分:
<reporting>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.7</version>
</plugin>
</plugins>
</reporting>
当我从终端调用此命令时:
mvn clean cobertura:cobertura
cobertura-maven-plugin
版本2.6使用:
[INFO] >>> cobertura-maven-plugin:2.6:cobertura (default-cli) > [cobertura]test @ myproject >>>
如果我也添加此部分:
<build>
<!-- ... -->
<plugins>
<!-- ... -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.7</version>
</plugin>
</plugins>
</build>
版本 2.7 按预期使用。这正常吗?
在第一个示例中,您仅将版本 2.7 中的 Cobertura 添加到 site
阶段生成的报告中。目标 cobertura:cobertura
是 bound to test
phase, which is separate lifecycle。
为了解决这样的问题,有pluginManagement
section。将以下内容添加到 POM:
<pluginManagement>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.7</version>
</plugin>
</plugins>
</pluginManagement>
在其他任何地方都使用 Cobertura 而无需提供版本:
<build>
<!-- ... -->
<plugins>
<!-- ... -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<!-- ... -->
<reporting>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
</plugin>
</plugins>
</reporting>