我有一个Java Multi maven项目,并且我为每个子模块配置了Jacoco maven插件,以排除我不想要其覆盖率报告的文件。我认为我成功了,因为我没有看到这些文件,我已经排除在由jacoco生成的html报告中。我假设这些类文件已从jacoco.exec文件中排除。现在,我在SonarQube中使用这些累积的jacoco.exec文件,我看到了所有子模块的复盖范围,但是,当我进入类详细信息时,我再次看到我定义要排除的类。因此,我必须使用sonar.exclusions属性再次定义这些排除,以便在声纳中看不到它们。
对于jacoco:
<build>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<configuration>
<excludes>
<exclude>**/*JavaProjectApiModule.class</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
对于在父pom.xml中配置的声纳I,在属性secion中:
<sonar.exclusions>
**/JavaProjectApiAModule.java
</sonar.exclusions>
我想一旦我使用jacoco配置排除了它们,它们就不会被添加到jacoco.exec文件中,反过来也不会在声纳中显示出来。但现在看来,我将不得不维护jacoco和sonar配置的排除,如果是来自不同模块的类,这将是一个很大的混乱。
我是不是漏掉了什么?是这条路吗?保持雅可可与声纳分离的排除?
提前感谢!
发布于 2018-06-10 05:37:47
sonar.exclusions
参数定义扫描程序应忽略哪些文件。这意味着这些文件将不会在SonarQube中显示。
在测试执行期间,JaCoCo代理将跳过从JaCoCo报告中排除的文件。
当扫描程序扫描未包含在JaCoCo报告中的文件时,这些文件将显示在SonarQube中,但没有代码覆盖率信息。如果扫描程序忽略文件(其路径与sonar.exclusions
匹配),则这些文件不会显示在SonarQube中-无论它们是否包含在JaCoCo报告中。
https://stackoverflow.com/questions/50758929
复制相似问题