使用 Jacoco 插件排除代码覆盖但不起作用

问题描述

基本上 sonarqube 使用 jacoco 进行代码覆盖。但我想从覆盖范围中排除几个类。 根据我在 pom 中使用的下面提到的几个文档。

          <plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
            <executions>
                <execution>
                    <id>prepare-agent</id>
                    <goals>
                        <goal>prepare-agent</goal>
                    </goals>
                </execution>
                <execution>
                    <id>report</id>
                    <goals>
                        <goal>report</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <excludes>
                    <exclude>
                        src/main/java/org/sample/SampleRepository.java
                    </exclude>
                </excludes>
            </configuration>
        </plugin>

遗憾的是它不起作用。 需要帮助。

解决方法

问题是,你是想在 jacoco 报告中一般地排除它,还是只是不在 Sonarqube 上显示它就足够了?至于声纳,您可以使用名为 visibleColumns 的附加分析参数来控制它。

可以通过扫描仪配置 sonar.coverage.exclusions(理想的解决方案,因为它可以在 SCM 中保留历史记录)或通过 UI 提供此参数: enter image description here

这可能只能解决 SonarQube 中的检测问题 - 但根据您的情况,这可能就足够了。