SonarQube Java版本用于验证代码

时间:2014-06-18 15:37:19

标签: java sonarqube

我如何知道哪个版本的Java SonarQube验证代码? 它是JVM的版本吗?那么如果我的项目基于不同的版本呢?

3 个答案:

答案 0 :(得分:9)

默认值为1.5。

要设置适当的版本,您需要设置sonar.java.source属性以告知PMD您的源代码符合哪个Java版本。

可能的值:1.4,1.5或5,1.6或6,1.7或7.从插件的2.2版本开始,此属性也可以设置为1.8或8。

如果您使用 ant任务,只需添加:

 <property name="sonar.java.source" value="${javaversion}"/> 

如果您使用的是 SonarRunner ,只需将以下行添加到文件<install_directory>/conf/sonar-runner.properties

sonar.java.source=1.5

答案 1 :(得分:2)

我确认此属性sonar.java.source仅由PMD工具使用。 SonarSource的Java分析器使用超集语法,因此可以分析源文件,而不管它们遵循的Java版本。

答案 2 :(得分:0)

来自SonarCube 8.3文档

使用SonarScanner进行项目分析时,属性 可以在sonar-project.properties中手动设置sonar.java.source。 可接受的格式为:

“ 1.X”(例如对于Java 6是1.6,对于Java 7是1.7,对于Java 8是1.8, 等等)“ X”(例如Java 7为7,Java 8为8,等等)

https://docs.sonarqube.org/latest/analysis/languages/java/

在我们的项目中,我们使用jdk11。我们没有显式设置任何内容,而是从pom.xml中读取。

在詹金斯上运行时,我可以看到输出

[INFO] Configured Java source version (sonar.java.source): 11