Jenkins升级到最新版本后无法启动

1. 场景还原

最近在web界面将jenkins升级到最新版本后,后台无法启动jenkins服务,服务状态如下:

运行jenkins命令提示invalid Java version

bash 复制代码
jenkins --version
jenkins: invalid Java version: java version "1.8.0_202"
Java(TM) SE Runtime Environment (build 1.8.0_202-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)

2. 错误原因

最新版本的 Jenkins 需要更高的 Java 版本(例如 Java 11 或更高)

查看Jenkins官方文档发现最新版本的Jenkins需要Java 17或更高,安装支持的Java版本即可解决问题。

3. 解决方案

1. 安装Java 17

此处以CentOS 7为例,其它操作系统请自行查找

安装 AdoptOpenJDK 仓库

bash 复制代码
yum install -y wget
wget https://packages.adoptium.net/artifactory/api/gpg/key/public
rpm --import public

创建 AdoptOpenJDK 的 yum 仓库配置文件

bash 复制代码
vi /etc/yum.repos.d/adoptium.repo

添加以下内容:

bash 复制代码
[adoptium]
name=AdoptOpenJDK
baseurl=https://packages.adoptium.net/artifactory/rpm/centos/7/x86_64/
enabled=1
gpgcheck=1
gpgkey=https://packages.adoptium.net/artifactory/api/gpg/key/public

安装 Java 17

bash 复制代码
yum install -y temurin-17-jdk

验证安装

bash 复制代码
java -version

2. 切换 Java 版本

安装后,如果系统中有多个版本的 Java,可能需要切换默认的 Java 版本。

列出可用的 Java 版本

bash 复制代码
alternatives --config java

选择 Java 17 的路径: 按提示输入对应的选项编号

验证切换成功

bash 复制代码
java -version

3. 配置 Jenkins 的 JAVA_HOME

编辑 Jenkins 的配置文件

bash 复制代码
vi /etc/sysconfig/jenkins

设置 JAVA_HOME 路径为 Java 17 安装目录

bash 复制代码
JAVA_HOME=/usr/lib/jvm/temurin-17-jdk

保存后重新加载配置并重启 Jenkins

bash 复制代码
source /etc/sysconfig/jenkins
systemctl restart jenkins

4. 验证 Jenkins 是否正常运行

执行命令

bash 复制代码
jenkins --version

或访问web页面,此时jenkins正常运行。

相关推荐
IT枫斗者枫哥5 小时前
MyBatis一对多分页:LIMIT 20,为什么凑不齐20个订单?
java·数据库
代码方舟5 小时前
Java数据工程:利用天远全网运营商三要素优化线上实名认证合规体验
java·人工智能
BBmmo5 小时前
我的 Java 学习笔记 · 第 7 篇:泛型与通配符
java
独泪了无痕5 小时前
Hutool之RandomUtil:随机数生成的终极利器
java·后端
律宏阔5 小时前
WSL Docker 端口明明空闲,但就是绑不上端口
linux·windows
花开路口5 小时前
深入理解 Java/Kotlin 协变与逆变
java·kotlin
律宏阔5 小时前
WSL 突然断网,无法 ping 内网或外网
linux·windows
运行时异常5 小时前
【WMS 仓储系统集成 AI Agent 实战】第 7 讲:Vue3 前端工程化——Token 刷新锁、Markdown 渲染踩坑与权限体系
java
穷人小水滴5 小时前
用容器编译 VirtualBox 虚拟机软件 (ArchLinux, podman)
linux·容器·virtualbox
她的男孩5 小时前
开放接口限流从 20 改到 200 还是每分钟 20 次:拆完防重放+幂等+限流,我找到 5 个静默失效的坑
java·后端·架构