SonarQube 5.6 与 Java 项目 (JDK 1.6)

SonarQube 5.6 with Java Project (JDK 1.6)

我想为 jdk 1.6 上的 Maven 项目配置 SonarQube。 我可以使用最新的 SonarQube 5.6 吗?它说代码应该只符合 jdk 1.8。 是否可以在 JDK 的最新版本上使用 SonarQube 分析旧版本 JDK 的代码?

我的项目是在 jdk1.6 上编译的。我是否需要使用支持 jdk1.6 的扫描仪,因为如果我使用 sonar-maven-plugin - 3.1.1,它会给出错误:

Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.1.1:sonar (default-cli) on project StreamDiffCLI: Execution default-cli of goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.1.1:sonar failed: Unable to load the mojo 'sonar' in the plugin 'org.sonarsource.scanner.maven:sonar-maven-plugin:3.1.1' due to an API incompatibility: org.codehaus.plexus.component.repository.exception.ComponentLookupException: org/sonarsource/scanner/maven/SonarQubeMojo : Unsupported major.minor version 52.0

我认为您误读了文档。您可以 编译 您的项目,使用任何您喜欢的 Java 版本。 1.4甚至。但是你必须用8.

分析

如果您正在安装带有 JDK 1.8 的最新版本的 Sonar-Cube,但您的项目与 JDK 1.6 兼容,请使用:

如果项目支持 JDK 1.6,请在配置文件中使用“sonar.java.source=1.6”以避免适用于 JDK>1.6 的规则 例如 build.xml (ANT)