由于您已将声纳配置为
<sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis>
<sonar.jacoco.itReportPath>
${project.basedir}/target/jacoco-t.exec
</sonar.jacoco.itReportPath>
这意味着您正在告诉 Sonarreuse现有报告来自sonar.jacoco.itReportPath。如果没有现有报告,则没有任何覆盖范围。
就我而言,我使用 Cobertura 并重用其报告Maven 站点生成,使用以下配置属性:
<sonar.java.coveragePlugin>cobertura</sonar.java.coveragePlugin>
<sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis>
<sonar.surefire.reportsPath>
${project.build.directory}/surefire-reports
</sonar.surefire.reportsPath>
<sonar.cobertura.reportPath>
${project.build.directory}/site/cobertura/coverage.xml
</sonar.cobertura.reportPath>
我可以使用以下命令来重用:
mvn clean install site sonar:sonar
我可以使用以下命令重现您的问题:
mvn clean install sonar:sonar
覆盖率为0%。由于目前还没有报告报告路径.
然后请确保有一个名为“jacoco-t.exec”如执行声纳之前指定的那样。
由于我不熟悉 JaCoCo,也不知道哪个 Maven 阶段生成报告文件,所以我建议执行如下命令:
mvn clean test sonar:sonar
or
mvn clean install sonar:sonar
或者和我的一样
mvn clean install site sonar:sonar
我希望这会有所帮助。