1. 场景还原
最近在web界面将jenkins升级到最新版本后,后台无法启动jenkins服务,服务状态如下:
运行jenkins命令提示invalid Java version
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 仓库
yum install -y wget
wget https://packages.adoptium.net/artifactory/api/gpg/key/public
rpm --import public
创建 AdoptOpenJDK 的 yum 仓库配置文件
vi /etc/yum.repos.d/adoptium.repo
添加以下内容:
[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
yum install -y temurin-17-jdk
验证安装
java -version
2. 切换 Java 版本
安装后,如果系统中有多个版本的 Java,可能需要切换默认的 Java 版本。
列出可用的 Java 版本
alternatives --config java
选择 Java 17 的路径: 按提示输入对应的选项编号
验证切换成功
java -version
3. 配置 Jenkins 的 JAVA_HOME
编辑 Jenkins 的配置文件
vi /etc/sysconfig/jenkins
设置 JAVA_HOME
路径为 Java 17 安装目录
JAVA_HOME=/usr/lib/jvm/temurin-17-jdk
保存后重新加载配置并重启 Jenkins
source /etc/sysconfig/jenkins
systemctl restart jenkins
4. 验证 Jenkins 是否正常运行
执行命令
jenkins --version
或访问web页面,此时jenkins正常运行。