【发布时间】:2016-12-30 12:57:27
【问题描述】:
我有一个运行 SonarQube 扫描仪的盒子。默认 JDK 为 7。
我需要使用 JDK 8 运行 sonar-runner,但我希望将默认 JDK 保持在 7。
我尝试在运行sonar-runner 之前更改JAVA_HOME,但没有运气。我也找不到任何可以改变它的属性。
有什么想法吗?
【问题讨论】:
标签: sonarqube5.1 sonarqube-scan
我有一个运行 SonarQube 扫描仪的盒子。默认 JDK 为 7。
我需要使用 JDK 8 运行 sonar-runner,但我希望将默认 JDK 保持在 7。
我尝试在运行sonar-runner 之前更改JAVA_HOME,但没有运气。我也找不到任何可以改变它的属性。
有什么想法吗?
【问题讨论】:
标签: sonarqube5.1 sonarqube-scan
设置 JAVA_HOME 应该可以工作(如果您好奇,请参阅 sonar-scanner source code)。
SonarQube Scanner 2.6.1 对我来说表现良好。 Java 7 的默认设置:
nico@deb-nico:~$ sonar-scanner
INFO: Scanner configuration file: /home/nico/sq_playground/sonar-scanner-2.6.1/conf/sonar-scanner.properties
INFO: Project root configuration file: NONE
INFO: SonarQube Scanner 2.6.1
INFO: Java 1.7.0_101 Oracle Corporation (64-bit)
强制使用 Java 8:
nico@deb-nico:~$ export JAVA_HOME=/usr/lib/jvm/java-8-oracle/jre
nico@deb-nico:~$ sonar-scanner
INFO: Scanner configuration file: /home/nico/sq_playground/sonar-scanner-2.6.1/conf/sonar-scanner.properties
INFO: Project root configuration file: NONE
INFO: SonarQube Scanner 2.6.1
INFO: Java 1.8.0_91 Oracle Corporation (64-bit)
看起来不错。请注意,SonarQube Scanner for Jenkins 有一个内置选项,可让您选择扫描仪应使用的 JDK。
【讨论】:
sonar-runner 而不是sonar-scanner。