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

Java Spring项目SonarQube无法生成JaCoCo覆盖率报告显示0%问题求助

问题根因与修复方案

已确认的配置错误点

  • JaCoCo版本冲突:properties中定义的jacoco.version为0.8.7,但dependencies中硬编码jacoco-maven-plugin版本为0.8.6,版本不一致会导致报告生成失败;且jacoco-maven-plugin属于maven插件,不需要在dependencies中声明,仅需在build/plugins节点配置即可。
  • 报告路径配置不匹配:sonar.coverage.jacoco.xmlReportPaths配置的是聚合报告路径jacoco-aggregate/jacoco.xml,但你的jacoco插件仅配置了普通report目标,未配置聚合报告的生成规则,无法生成对应路径的报告文件,和日志中抛出的路径找不到警告完全对应。
  • 排除规则语法错误:sonar.exclusions中**/atlas/base/api/repository/*.java行末尾缺少逗号,会导致后续的启动类排除规则不生效。

具体修复步骤

  1. 统一版本并清理冗余配置
    删除dependencies节点中的jacoco-maven-plugin依赖声明,确保build/plugins下的jacoco插件版本统一使用${jacoco.version}。
  2. 修正报告路径配置
    单模块项目直接删除sonar.coverage.jacoco.xmlReportPaths配置使用默认路径即可,若需显式声明可改为:
<sonar.coverage.jacoco.xmlReportPaths>${project.build.directory}/site/jacoco/jacoco.xml</sonar.coverage.jacoco.xmlReportPaths>
  1. 调整构建执行命令
    必须按顺序执行测试、报告生成、Sonar扫描,使用命令:
    mvn clean verify sonar:sonar
    禁止仅执行mvn sonar:sonar,否则不会触发单测执行和jacoco报告生成逻辑。

验证方式

构建完成后先检查target/site/jacoco目录下是否存在jacoco.xml文件,文件存在的前提下SonarQube即可正常读取覆盖率数据。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 07:09:03