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

升级Spring Boot至2.7.5版本后SonarQube覆盖率显示0%求助

Spring Boot 2.7.5升级后SonarQube代码覆盖率显示0%的排查原因
  • 覆盖率报告未生成或未被Sonar读取
    Spring Boot 2.7.x默认使用Jacoco做覆盖率统计,升级后可能Jacoco配置被覆盖或未绑定到测试阶段。执行mvn clean test jacoco:report,检查target/site/jacoco目录下是否生成jacoco.xml等报告文件。若未生成,需确认pom.xml中Jacoco插件是否正确绑定到test生命周期阶段。

  • SonarQube未配置覆盖率报告路径
    单独执行mvn sonar:sonar时,Sonar可能找不到覆盖率报告文件。需在命令中添加参数指定路径:mvn sonar:sonar -Dsonar.java.coveragePlugin=jacoco -Dsonar.jacoco.reportPaths=target/site/jacoco/jacoco.xml,也可以在pom.xml的Sonar插件配置中固定这些参数。

  • 源文件与测试文件路径不匹配
    SonarQube通过sonar.sources和sonar.tests参数关联源文件与测试文件,升级后若项目结构调整或参数配置错误,会导致无法匹配覆盖率数据。检查参数是否指向正确目录,比如sonar.sources=src/main/java、sonar.tests=src/test/java。

  • Jacoco与Spring Boot版本不兼容
    若手动指定了旧版Jacoco插件,可能与Spring Boot 2.7.5存在兼容性问题。建议直接使用Spring Boot parent管理的Jacoco版本,避免手动指定;若需自定义,确保Jacoco版本在0.8.7及以上。

  • 单元测试未正常执行
    升级后可能因依赖变更、代码改动导致测试执行失败或被跳过。执行mvn test查看测试结果,确认所有测试都正常运行,无失败或跳过情况。修复异常测试后再重新生成覆盖率报告。

  • SonarQube服务器版本过旧
    旧版SonarQube可能不支持Spring Boot 2.7.x项目的覆盖率解析。检查服务器版本,建议升级到9.x及以上系列版本,确保与项目版本兼容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 02:55:23