Jenkins 可以为同一个 Maven 作业支持 2 个 Java 版本吗?
Posted
技术标签:
【中文标题】Jenkins 可以为同一个 Maven 作业支持 2 个 Java 版本吗?【英文标题】:Can Jenkins support 2 Java versions for same Maven job? 【发布时间】:2021-04-08 00:15:39 【问题描述】:我们正在尝试升级 Java 并已修改 pom.xml 以在源和目标中使用新版本进行构建。 Jenkins 作业目前因错误而失败:
致命错误编译:无效的目标版本:11。
我们正在并行开发多个发布分支。他们中的大多数仍在使用旧 Java,应该使用旧版本构建。仅对于一个发布分支,我们需要新的 Java 版本。可以这样配置Jenkins吗?
我的理解是Jenkins JAVA HOME需要更新以匹配目标版本。
【问题讨论】:
请阅读:Can I ask only one question per post? 我建议您查看--release
compiler option for javac
。通过release
-property of the maven-compiler-plugin
控制这一点似乎很有希望。
Re 1.:“Jenkins Java HOME”是什么意思?您的操作系统中有基于 Java 的工具考虑的 JAVA_HOME 环境变量。
流水线语法提供了一种方法来选择你想要的特定运行的 JDK,这可以参数化。
【参考方案1】:
管理 Jenkins → 全局工具配置 → JDK 安装... → 添加 JDK
【讨论】:
以上是关于Jenkins 可以为同一个 Maven 作业支持 2 个 Java 版本吗?的主要内容,如果未能解决你的问题,请参考以下文章
尝试在 JENKINS 中运行作业时,maven 中的“Peer Not Authenticated”
是否有任何 Maven 命令可以在 Jenkins shell 上运行来分析 SonarQube 中的打字稿代码?
当 jenkins 作业作为“执行 Maven 发布”运行时,如何在 shell 步骤中获取参数 MVN_RELEASE_VERSION 的值?