Maven项目中pom与GitLab CI指定不同Java版本,实际运行哪个?
问题解答
在你的GitLab CI/CD流水线中:
- 实际运行的JDK版本是OpenJDK 11:这是由
.gitlab-ci.yml里指定的openjdk:11-jdk镜像决定的,整个mvn clean package命令都是在这个JDK 11的环境中执行的。 - pom.xml里的
maven-compiler-plugin配置的source:1.8和target:1.8,是用来控制编译生成的字节码版本,让编译后的代码可以在Java 8及更高版本的JVM上运行,但编译过程本身还是依托JDK 11完成的。
需要注意的是:如果要完全确保编译环境与目标Java版本一致(避免高版本JDK编译低版本字节码时可能出现的隐性API兼容问题),建议将CI镜像换成openjdk:8-jdk,同时保留pom里的编译版本配置。
内容的提问来源于stack exchange,提问作者CAMD_3441
相关产品推荐
相关产品推荐

