SonarQube 扫描仪:使用非默认 Java

SonarQube scanner: use non-default Java

我有一个盒子 运行ning SonarQube 扫描仪。默认 JDK 是 7.

我需要 运行 sonar-runner 使用 JDK 8,但我想将默认值 JDK 保持在 7。

我尝试在 运行宁 sonar-runner 之前更改 JAVA_HOME 但没有成功。我也找不到任何可以改变它的属性。

有什么想法吗?

设置 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 扫描仪应使用的选项。