java 9上的sonarqube分析

bur*_*vyg 4 sonarqube java-9

docker sonarqube 最新版本 6.7.1 破坏了我在 java 9 上的 Maven 构建:

[ERROR] Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.4.0.905:sonar (default-cli) on project request-work: Execution default-cli of goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.4.0.905:sonar failed: A required class was missing while executing org.sonarsource.scanner.maven:sonar-maven-plugin:3.4.0.905:sonar: javax/xml/bind/ValidationEventHandler
[ERROR] -----------------------------------------------------
[ERROR] realm =    plugin>org.sonarsource.scanner.maven:sonar-maven-plugin:3.4.0.905
[ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
[ERROR] urls[0] = file:/home/jenkins/.m2/repository/org/sonarsource/scanner/maven/sonar-maven-plugin/3.4.0.905/sonar-maven-plugin-3.4.0.905.jar
[ERROR] urls[1] = file:/home/jenkins/.m2/repository/org/sonatype/plexus/plexus-sec-dispatcher/1.4/plexus-sec-dispatcher-1.4.jar
[ERROR] urls[2] = file:/home/jenkins/.m2/repository/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar
[ERROR] urls[3] = file:/home/jenkins/.m2/repository/org/codehaus/plexus/plexus-utils/3.0.22/plexus-utils-3.0.22.jar
[ERROR] urls[4] = file:/home/jenkins/.m2/repository/org/sonarsource/scanner/api/sonar-scanner-api/2.10.0.1189/sonar-scanner-api-2.10.0.1189.jar
[ERROR] urls[5] = file:/home/jenkins/.m2/repository/commons-lang/commons-lang/2.6/commons-lang-2.6.jar
[ERROR] Number of foreign imports: 1
[ERROR] import: Entry[import  from realm ClassRealm[maven.api, parent: null]]
[ERROR] 
[ERROR] -----------------------------------------------------
[ERROR] : javax.xml.bind.ValidationEventHandler
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
Run Code Online (Sandbox Code Playgroud)

相同的配置在 java 8 上运行完美。

如何修复它?

Jer*_*ier 5

SonarQube 要求页面上,您可以看到 SonarQube 仅支持 Open JDK 8 和 Oracle JRE 8。因此您需要该运行时来运行 SonarQube 分析和 SonarQube 网站。主要问题是当前产品中包含的 ElasticSearch 引擎(ElasticSearch 6.2 中添加了对 Java 9 的支持,另请参阅 JIRA 项目SONAR-10574)。例如,您可以在这篇博客中读到,JDK 9 已过时,因此开发人员需要将代码迁移到 JDK 10、JDK 11(今年晚些时候)或回退到 JDK 8。另请参阅 SO 问题,询问 SonarQube 7 的计划.x 版本,仍然没有答案。对下一个 Java 运行时的支持很有可能会构建到 7.x 版本中,而不是 6.x 版本中。您可以分析 Java 9 代码。 有关详细信息,请参阅此问题。