gpt4 book ai didi

java - SonarQube 未使用 Java 8 测量代码覆盖率

转载 作者:行者123 更新时间:2023-11-30 01:54:59 25 4
gpt4 key购买 nike

在我的工作场所,我们被要求更新项目中的其他内容,包括属性中指定的 java 版本(从 7 到 8)。

但是,当我更改 <java.version> 中的内容后从 1.7 标记到 1.8 并使用

进行项目的 Maven 构建
clean package install cobertura:cobertura  -Dcobertura.report.format=xml org.sonarsource.scanner.maven:sonar-maven-plugin:3.6.0.1398:sonar  -Dsonar.projectKey=myproject -Dsonar.projectName=myproject

代码覆盖率变为 0%(在完成分析后返回的页面上)。所有其他措施,例如代码异味和重复,都继续正常工作。

造成这种情况的可能原因/可能的解决方案是什么?我试着到处寻找,但这里没有人知道为什么会发生这种情况。以下是父项目的 pom.xml 中的一些信息:

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.3.RELEASE</version>
</parent>

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.8</java.version>
<artifact-version>2.0.0-SNAPSHOT</artifact-version>
</properties>

<dependencies>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-module-junit4</artifactId>
<version>1.7.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-api-mockito2</artifactId>
<version>1.7.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-all</artifactId>
<version>1.9.5</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<scope>test</scope>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<layout>ZIP</layout>
</configuration>
</plugin>
<plugin>
<groupId>org.sonarsource.scanner.maven</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<version>3.6.0.1398</version>
</plugin>
</plugins>
</build>

我并不完全熟悉项目的内部工作原理,也不完全熟悉 Maven 的工作原理,所以我不知道我是否缺少相关信息。如果有必要,我会添加更多信息。

最佳答案

虽然我们不明白覆盖率下降到 0% 的确切原因,但我们发现添加 Jacoco 插件可以解决这个问题。只需添加到 pom:

    <plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.0</version>
<executions>
<execution>
<id>default-prepare-agent</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>default-report</id>
<phase>prepare-package</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>

关于java - SonarQube 未使用 Java 8 测量代码覆盖率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54816505/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com