我们最近升级到SonarCube 4.3.2。在他之前的版本中(不记得它是什么)可以选择Jacoco作为代码覆盖率分析器,并将Maven中的排除定义为一个简单的属性;
e.g。
<properties>
<sonar.jacoco.excludes>*/cache/*:*/*Application.java</sonar.jacoco.excludes>
</properties>
使用此版本的SonarCube,选择Jacoco的选项已不再存在,所以我试图让它以另一种方式工作。关于这个主题的帖子很多很多,但都没有解决我的问题。 我设法排除了类,但这些在SonarCube中显示为0%(并降低了总覆盖率)。通过以上财产排除似乎不再起作用。
在我的pom中,我添加了以下插件:
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.6.0.201210061924</version>
<configuration>
<excludes>
<exclude>**/SonarTest*</exclude>
</excludes>
</configuration>
<executions>
<execution>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>report</id>
<phase>prepare-package</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
配置似乎没问题,因为在Jacoco报告中完全排除了该类。 SonarTest已经过部分测试,但是使用此配置它在声纳中显示为0%,因此似乎排除在某种程度上有效。我怎样才能告知Sonar这些被排除的类应该完全被忽略。