You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

配置包排除规则后SonarQube代码覆盖率仍显示0%问题咨询

问题原因

  • 通配符匹配范围不足:你原有配置中的**/model/*.java只能匹配model包下直接存放的Java文件,若model包下存在子包,子包内的文件无法被匹配到
  • Jacoco未同步配置排除规则:SonarQube的覆盖率数据默认读取Jacoco生成的报告,你仅配置了Sonar端的排除,但Jacoco统计覆盖率时仍将model包纳入计算,生成的报告本身就包含model包0覆盖率的数据,Sonar扫描时会直接读取这部分数据
  • 配置项用途混淆:sonar.exclusions是将目标文件从所有Sonar分析(包括静态代码检查、漏洞扫描、覆盖率统计等)中完全排除,若你仅需要排除覆盖率统计,使用sonar.coverage.exclusions即可,不需要配置前者

配置依赖说明

sonar.exclusions/sonar.coverage.exclusions都是Sonar扫描器的原生配置参数,不需要额外引入任何Sonar相关依赖,只要执行mvn sonar:sonar命令触发扫描就能生效。

解决配置方案

方式1:在Maven pom中配置(推荐,随代码版本管理)

  1. 修正properties中的Sonar覆盖率排除规则
<properties>
    <!-- 仅排除model包的覆盖率统计,不影响其他静态检查 -->
    <sonar.coverage.exclusions>**/model/**/*.java</sonar.coverage.exclusions>
</properties>
  1. 同步修改Jacoco插件的排除配置
<plugin>
   <groupId>org.jacoco</groupId>
   <artifactId>jacoco-maven-plugin</artifactId>
   <version>0.8.6</version>
   <configuration>
      <excludes>
          <!-- Jacoco匹配的是编译后的class文件路径,匹配model下所有类包括子包 -->
          <exclude>**/model/**/*.class</exclude>
      </excludes>
   </configuration>
   <!-- 原有executions逻辑保持不变 -->
   <executions>
      <execution>
         <id>pre-unit-test</id>
         <goals>
            <goal>prepare-agent</goal>
         </goals>
         <configuration>
            <destFile>target/coverage-data/jacoco-ut.exec</destFile>
            <propertyName>surefireArgLine</propertyName>
         </configuration>
      </execution>
      <execution>
         <id>post-unit-test</id>
         <phase>test</phase>
         <goals>
            <goal>report</goal>
         </goals>
         <configuration>
            <dataFile>target/coverage-data/jacoco-ut.exec</dataFile>
            <outputDirectory>target/coverage-reports/jacoco-ut</outputDirectory>
         </configuration>
      </execution>
   </executions>
</plugin>

配置完成后执行mvn clean install sonar:sonar重新构建扫描即可生效。

方式2:在SonarQube后台配置

不需要修改代码,直接进入对应Sonar项目的后台管理页,依次进入「配置」-「分析范围」-「覆盖率排除」,添加规则**/model/**/*.java保存后,后续扫描自动生效。

内容的提问来源于stack exchange,提问作者user15006167

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 17:06:03