SonarQube 扫描仪:使用非默认 Java
Posted
技术标签:
【中文标题】SonarQube 扫描仪:使用非默认 Java【英文标题】:SonarQube scanner: use non-default Java 【发布时间】:2016-12-30 12:57:27 【问题描述】:我有一个运行 SonarQube 扫描仪的盒子。默认 JDK 为 7。
我需要使用 JDK 8 运行 sonar-runner
,但我希望将默认 JDK 保持在 7。
我尝试在运行sonar-runner
之前更改JAVA_HOME
,但没有运气。我也找不到任何可以改变它的属性。
有什么想法吗?
【问题讨论】:
【参考方案1】:设置 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
。以上是关于SonarQube 扫描仪:使用非默认 Java的主要内容,如果未能解决你的问题,请参考以下文章
SonarQube 扫描仪执行错误 [Windows - Linux Master-Slave]
使用SonarQube+SonarScanner对Java代码进行扫描(Windows环境)