在你的 Jenkins 流水线中,如果你先进入一个 JDK 17 的容器,然后执行 `mvn compile` 和 SonarQube 扫描,这里有几个关键点需要注意
如果我是用的jenkinsfile走的流水线代码扫描流程,我jenkinsfile先进入到一个jdk17的容器里面,然后执行 mvn compile 然后进行sonar的代码扫描,我的代码项目是需要用jdk版本17编译构建的,但是我现在soanrqube装的版本是9.2.2 里面支持的jdk版本是jdk11,那么我的代码在进行扫描的时候会影响到我的代码扫描吗?我代码扫描的时候到底是jdk11还是jdk17?
在你的 Jenkins 流水线中,如果你先进入一个 JDK 17 的容器,然后执行 mvn compile
和 SonarQube 扫描,这里有几个关键点需要注意:
代码扫描影响
-
使用的 JDK 版本:
- 由于你在 JDK 17 的容器中运行
mvn compile
,所以编译和生成的字节码将是 JDK 17 格式。
- 由于你在 JDK 17 的容器中运行
-
SonarQube 版本:
- SonarQube 9.2.2 本身只能在 JDK 11 下运行,并且其分析器无法完全支持 Java 17 的新特性。