这就是我的 POM 文件的样子:
<properties>
<java.version>11</java.version>
<spring-cloud.version>3.1.5</spring-cloud.version>
<jacoco.version>0.8.6</jacoco.version>
<sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
<sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis>
<sonar.version>3.4.0.905</sonar.version>
<swagger.version>3.0.0</swagger.version>
<sonar.host.url>http://localhost:9000</sonar.host.url>
<sonar.jacoco.reportPath>${project.basedir}/../target/jacoco.exec</sonar.jacoco.reportPath>
</properties>
<plugin>
<groupId>org.sonarsource.scanner.maven</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<version>${sonar.version}</version>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>${jacoco.version}</version>
<executions>
<execution>
<id>jacoco-initialize</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>jacoco-site</id>
<phase>package</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
之前覆盖率是70%,更新了spring boot、sonar、jacoco版本后覆盖率都变成0了。我已经写了测试用例。当然,火灾报告正在生成,但我没有看到 jacoco.xml,尽管 jacoco.exec 正在生成
这对我有用:
运行mvn clean install(检查traget文件夹中是否生成jacooc.exec) 然后运行 mvn jacoco:report (这将生成 jacoco.xml 文件,声纳将导入该文件并计算覆盖范围)