将 Java 从 8 升级到 11 后。sonar:sonar 无法工作并出现异常 最后。
Java 1.8 在 Sonarqube 7.7 上运行良好,现在在 java 11 和 sonarqube 7.8 上却出现异常失败
[错误] 无法在项目 xxxx 上执行目标 org.sonarsource.scanner.maven:sonar-maven-plugin:3.6.0.1398:sonar (default-cli):无法读取 ....\target\jacoco。 exec 确定 JaCoCo 二进制格式。: EOFException -> [帮助 1]
对 java 11 使用以下属性
<sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
<sonar.sources>src/main</sonar.sources>
<sonar.tests>src/test</sonar.tests>
<runSuite>**/*Test.class</runSuite>
<sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
<sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis
<sonar.jacoco.reportPaths>${project.basedir}/../target/jacoco.exec</sonar.jacoco.reportPaths>
<sonar.language>java</sonar.language>
下面使用 jacoco 的插件
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<release>${java.version}</release>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.2</version>
<configuration>
<argLine>--illegal-access=permit</argLine>
<includes>
<include>${runSuite}</include>
</includes>
<forkCount>0</forkCount>
</configuration>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.4</version>
<configuration>
<destFile>${sonar.jacoco.reportPaths}</destFile>
<append>true</append>
</configuration>
<executions>
<execution>
<id>agent</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
</executions>
</plugin>
我是否缺少 pom 文件中使用 jacoco 运行 sonarqube 的任何配置
最佳答案
删除 sonar.coverage.jacoco.xmlReportPaths
和 maven-surefire-plugin
即可获得代码覆盖率。问题已修复。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.2</version>
<configuration>
<argLine>--illegal-access=permit</argLine>
<includes>
<include>${runSuite}</include>
</includes>
<forkCount>0</forkCount>
</configuration>
</plugin>
有用的链接:
https://52.213.100.93/browse/MMF-1651
https://github.com/SonarSource/sonar-scanning-examples/tree/master/sonarqube-scanner-maven
关于java - 使用 maven 升级到 Java 11、sonarqube、jacoco 导致错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57301580/