有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

SonarQube是用于验证代码的Java版本

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


共 (4) 个答案

  1. # 1 楼答案

    默认值为1.5

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

    可能的值:1.4、1.5或5、1.6或6、1.7或7。由于插件版本为2.2,该属性也可以设置为1.8或8

    如果您使用的是蚂蚁任务,只需添加:

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

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

    sonar.java.source=1.5
    
  2. # 2 楼答案

    我确认这是声纳。JAVA源仅由PMD工具使用。SonarSource的Java Analyzer使用超集语法,因此可以分析源文件,而不考虑它们遵循的Java版本

  3. # 3 楼答案

    从Sonarqube文档中,我找到了支持java 1.8的Sonarqube版本

    enter image description here

    Sonarqube 7.7是支持Java 1.8的最新版本

    如果这是你想要的信息,请勾选我的答案

    enter image description here

  4. # 4 楼答案

    来自SonarCube 8.3文档

    When using SonarScanner to perform analyses of project, the property sonar.java.source can to be set manually in sonar-project.properties. Accepted formats are:

    "1.X" (for instance 1.6 for java 6, 1.7 for java 7, 1.8 for java 8, etc.) "X" (for instance 7 for java 7, 8 for java 8, etc. )

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

    在我们的项目中,我们使用jdk 11。我们没有明确设置任何内容,它是从pom读取的。xml

    在jenkins上运行时,我可以看到输出

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