如何在不使用 maven 的情况下将 Jacoco 报告与 SonarQube 集成?

How can I integrate Jacoco reports with SonarQube without using maven?

我使用 Jacoco eclipse 插件来测量单元测试覆盖率,并且能够使用它导出报告。我想将该报告与声纳集成,因此我在项目属性文件中提供了它的路径。 我的属性文件如下所示

# Required metadata
sonar.projectKey=key
sonar.projectName=name
sonar.projectVersion=1.0
sonar.jacoco.reportPath=jacoco.exec
sonar.tests=junit
sonar.dynamicAnalysis=reuseReports
sonar.java.coveragePlugin=jacoco
sonar.jacoco.reportMissing.force.zero=true
# Comma-separated paths to directories with sources (required)
sonar.sources=src

# Comma-separated paths to directories with tests (optional)
sonar.tests=test

# Encoding of the source files
sonar.sourceEncoding=UTF-8

# Language
sonar.language=java

当我执行 sonar-runner 时,控制台输出中有以下几行

16:23:13.219 INFO  - Sensor JaCoCoItSensor...
16:23:13.219 INFO  - No JaCoCo analysis of project coverage can be done since there is no class files.
16:23:13.219 INFO  - Sensor JaCoCoItSensor done: 0 ms
16:23:13.219 INFO  - Sensor JaCoCoOverallSensor...
16:23:13.219 INFO  - Sensor JaCoCoOverallSensor done: 0 ms
16:23:13.219 INFO  - Sensor JaCoCoSensor...
16:23:13.219 INFO  - No JaCoCo analysis of project coverage can be done since there is no class files.

单元测试覆盖率小部件也表明 "No Data"。 为什么我无法让 Sonar 显示覆盖结果?这样做的正确方法是什么? 这是我第一次使用 Jacoco,我也是 Sonar 的新手,因此非常感谢详细的指南。

您必须指定 "sonar.binaries" 属性 指向编译 类 的文件夹。