java - Sonar 覆盖范围为 0%,未生成 jacoco.xml

标签 java spring-boot maven sonarqube maven-surefire-plugin

这就是我的 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>

enter image description here

enter image description here

之前覆盖率是70%,更新了spring boot、sonar、jacoco版本后覆盖率都变成0了。我已经写了测试用例。当然,火灾报告正在生成,但我没有看到 jacoco.xml,尽管 jacoco.exec 正在生成

enter image description here

enter image description here

最佳答案

这对我有用:

  1. 运行mvn clean install(检查target文件夹中是否生成jacoco.exec)。
  2. 然后运行 ​​mvn jacoco:report (这将生成 jacoco.xml 文件, Sonar 将导入该文件并计算覆盖范围)

关于java - Sonar 覆盖范围为 0%,未生成 jacoco.xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/77110860/

相关文章:

java - 在字符串变量中可以存储所有 ASCII 符号是否正确?

java - 捕获库的退出指令

java - 分配舞台视口(viewport)?

log4j - 无法启动Spring Boot服务器

java - JMSListener 注释无法与 REST 服务一起使用

java - 未检测到自定义 SpringVaadinServlet

java - Vaadin 8 alpha/beta 预发布失败并出现 “Non-resolvable import POM: Failure to find” 错误

java - Bean集合Spring : ConversionNotSupportedException

java - 从 ObjectInputStream 读取序列化对象

java - 无法解析 Spring Boot 应用程序中的符号 "security"