最近、SonarCube 4.3.2 にアップグレードしました。以前のバージョン (それが何であったか覚えていません) では、Jacoco をコード カバレッジ アナライザーとして選択し、Maven で除外を単純なプロパティとして定義することができました。
例えば
<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 は部分的にテストされていますが、この構成では Sonar で 0% と表示されるため、除外がある程度機能しているようです。これらの除外されたクラスをカバレッジに関して完全に無視する必要があることをソナーに通知するにはどうすればよいですか。