当前位置: 首页 > 知识库问答 >
问题:

在pom.xml中为jacoco配置的排除和在sonar中排除文件

卫琛
2023-03-14

我有一个Java MultiMaven项目,我为每个子模块配置了Jacoco maven插件,以排除我不想要覆盖报告的文件。我认为我成功了,因为我在Jacoco生成的html报告中看不到我排除的这些文件。我假设这些类文件被排除在Jacoco.exec文件之外。现在,我在SonarQube中使用这些累积的Jacoco.exec文件,并看到了所有子模块的覆盖,但是,当我进入类详细信息时,我再次看到了我定义要排除的类。所以我不得不用sonar再次定义这些排除,为了不在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中配置的Sonar,在属性secion中:

<sonar.exclusions>
        **/JavaProjectApiAModule.java
</sonar.exclusions>

我是不是漏掉了什么?是这条路吗?保持jacoco与声纳分离的排除?

提前感谢!

共有1个答案

朱淮晨
2023-03-14

sonar.exclusions参数定义扫描仪应该省略哪些文件。这意味着那些文件不会在Sonarqube中显示。

JaCoCo代理在测试执行期间跳过从JaCoCo报告中排除的文件。

当扫描器扫描JaCoCo报告中没有包含的文件时,它们将显示在SonarQube中,但没有代码覆盖率信息。当扫描器忽略文件(它们的路径匹配sonar.exclusions),那么它们就不会显示在SonarQube中--无论它们是否包括在JaCoCo报表中。

 类似资料:
  • 问题内容: 我在maven中配置了一个项目,代码分析由SonarQube完成。 我正在尝试在pom.xml文件中配置SonarQube,以从代码分析中排除一些文件。这些文件可以通过其类名来标识,它们在扩展名之前包含下划线字符(它们是元模型类)。下面,我给出了pom.xml文件的一部分,在其中尝试排除它们: 但是,以上代码不起作用。有没有一种方法可以从我的pom.xml文件中配置SonarQube以

  • 我在maven中配置了一个项目,代码分析是由Sonarqube完成的。 我试图在pom.xml文件中配置SonarQube,以便从代码分析中排除一些文件。这些文件可以通过它们的类名来标识,它们在扩展名之前包含下划线字符(它们是元模型类)。下面我给出了pom.xml文件中我试图排除它们的部分: 但是,上面的代码不起作用。是否有一种方法可以从我的pom.xml文件中配置SonarQube,以便在分析源

  • 我在maven项目中有以下设置。生产性代码的配置类: 然后我有一个测试,它有一个内部: 这门课的测验做得很好。那么我在子包中确实有另一个测试类: 如何避免其他测试中的配置类“泄露”到其他测试中? 我在Spring Boot 1.4.1中看到了使用Spring profiles的集成测试的Spring-boot默认配置文件,而我使用的是Spring Boot 2.0.1。但我相信这是可以做到的。 我

  • 我一直试图从生成的覆盖报告中删除某些文件。我尝试了以下事情: 修改代码: 也试过, 我试图找到解决方案时提到的许多链接中的一些: Maven Jacoco配置-从不工作的报告中排除类/包 Jacoco如何正确排除包 如何在子项目中添加更多Jacoco排除? http://tdongsi.github.io/blog/2017/09/23/jacoco-in-maven-project/ 但是每次我

  • 在JaCoCo生成的Maven站点报告中,我得到了相当糟糕的报道,因为我所有编译的JSP都包含在内(而且很长)。我在

  • 我想从JaCoCo中排除一些类别,但排除似乎不起作用。 例如,我想排除所有以Dao结尾的Java类(例如com.company.emplyedao)。 我已经尝试了以下代码,但当我将其推送到sonar/use JacoTestReport时,它仍然显示出来。 我将它与Android结合使用。发生了什么事?