如何确定Jenkins运行使用的Java版本并将其指定为正确的Java 11
Jenkins运行时JDK版本切换解决方案
针对你已配置jenkins.xml、系统环境变量仍不生效的情况,按以下步骤排查修改(适用于Windows部署场景):
- 优先移除内置JRE优先级:Windows官方安装包默认会在Jenkins安装目录下生成内置
jre文件夹,启动时会优先读取该JRE,优先级高于自定义配置。直接将该jre文件夹重命名为jre_bak,强制Jenkins读取外部JDK配置。 - 更新Jenkins服务启动配置:Jenkins作为Windows服务运行时,注册时会固化JVM路径,仅修改
jenkins.xml不会自动更新服务参数,需重新注册服务:- 以管理员身份启动命令提示符,先停止运行中的Jenkins服务:
net stop Jenkins - 进入Jenkins安装根目录,卸载原有服务:
jenkins.exe uninstall - 确认
jenkins.xml中<executable>标签配置为OpenJDK11的java.exe完整路径,示例:<executable>C:\Program Files\OpenJDK\jdk-11.0.20\bin\java.exe</executable> - 重新注册服务:
jenkins.exe install - 启动新注册的服务:
net start Jenkins
- 以管理员身份启动命令提示符,先停止运行中的Jenkins服务:
- 确认环境变量生效范围:若你之前仅配置了当前用户的
JAVA_HOME,而Jenkins服务默认以本地系统账户运行,只会读取系统级环境变量。请将JAVA_HOME和PATH中的JDK11配置添加到系统变量,且PATH中JDK11的路径需要排在JDK8路径之前。 - 验证结果:重启完成后进入Jenkins后台「系统管理」→「系统信息」页面,查看
java.home、java.specification.version参数确认版本是否已切换为OpenJDK11。
内容的提问来源于stack exchange,提问作者Handsome Coder
相关产品推荐
相关产品推荐

