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

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正常运行。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/61050.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【计算机视觉+MATLAB】自动检测并可视化圆形目标:通过 imfindcircles 和 viscircles 函数

引言 自动检测图像中的圆形或圆形对象,并可视化检测到的圆形。 函数详解 imfindcircles imfindcircles是MATLAB中的一个函数,用于在图像中检测并找出圆形区域。 基本语法: [centers, radii] imfindcircles(A, radiusRange) [centers, r…

鸿蒙NEXT元服务:利用App Linking实现无缝跳转与二维码拉起

【效果】 元服务链接格式(API>12适用):https://hoas.drcn.agconnect.link/ggMRM 生成二维码后效果: 【参考网址】 使用App Linking实现元服务跳转:文档中心 草料二维码:草料二维码生成器 【引言】 …

Matlab读取4-D uint8变量需要转变成double型变量

Matlab读取4-D uint8变量需要转变成double型变量 如rgbData是一个4-D uint8变量,里面是像素数据,读取的代码如下: R double(rgbData(z, x, y, 1)); G double(rgbData(z, x, y, 2)); B double(rgbData(z, x, y, 3)); inscribedSpherePixe…

下载安装Android Studio

(一)Android Studio下载地址 https://developer.android.google.cn/studio 滑动到 点击下载文档 打开新网页 切换到english ![](https://i-blog.csdnimg.cn/direct/b7052b434f9d4418b9d56c66cdd59fae.png 等待一会,出现 点同意后&#xff0…

【C/C++】深入解析 Stack 与 Queue 数据结构(详解):实现原理、应用场景与性能优化

文章目录 引言栈(Stack)数据结构详解1. 栈的基本概念2. 栈的实现原理3. C中的栈实现4. 栈的应用场景5. 栈的性能分析6. 实战示例:括号匹配 队列(Queue)数据结构详解1. 队列的基本概念2. 队列的实现原理3. C中的队列实现…

Flutter:encrypt插件 AES加密处理

1、pubspec.yaml导入插件 cupertino_icons: ^1.0.8 # 密码加密 encrypt: 5.0.3encrypt封装 import package:encrypt/encrypt.dart; /// 加密类 class EncryptUtil {static final EncryptUtil _instance EncryptUtil._internal();factory EncryptUtil() > _instance;Encrypt…

深入理解HTML基本结构:构建现代网页的基石

深入理解HTML基本结构:构建现代网页的基石 在数字时代,HTML(超文本标记语言)是构建和设计网页的基础。了解HTML的基本结构对于任何希望掌握网页开发的人来说至关重要。本文将详细介绍HTML文件的基本骨架,包括其核心标…

【css实现收货地址下边的平行四边形彩色线条】

废话不多说&#xff0c;直接上代码&#xff1a; <div class"address-block" ><!-- 其他内容... --><div class"checked-ar"></div> </div> .address-block{height:120px;position: relative;overflow: hidden;width: 500p…

从零开始配置Qt+VsCode环境

从零开始配置QtVsCode环境 文章目录 从零开始配置QtVsCode环境写在前面扩展安装及配置Qt Configure配置 VsCode创建Qt工程VsCodeQMakeMinGwVsCodeQMakeMsvcVsCodeCMakeMinGwVsCodeCMakeMsvcQtCreatorQMakeMinGw->VsCodeQtCreatorQMakeMsvc->VsCodeQtCreatorCMakeMinGw-&g…

【前端】JavaScript中的字面量概念与应用详解

博客主页&#xff1a; [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: 前端 文章目录 &#x1f4af;前言&#x1f4af;字面量1. 数字字面量2. 字符串字面量3. 布尔字面量4. 空值字面量&#xff08;null&#xff09;5. 对象字面量6. 数组字面量7. 正则表达式字面量8. 特殊值字面量9. 函数字…

使用Spring Data MongoDB中的MongoTemplate实现分组查询最新的数据

假设我们的mongoDB数据库中有一个集合名为stents的集合&#xff0c;我们想查询出每个支架号对应的最新的一条数据&#xff0c;即有多少个支架就会有对应多少条最新的支架数据。 我们使用Spring Data MongoDB中的MongoTemplate来查询所有支架的最新数据&#xff0c;可以通过构建…

nodejs import 导入module.exports = xxx的模块, 在ES6项目中导入commonJs规范的require模块

在 Node.js 模块化开发中&#xff0c;import遵循的是ES6规范&#xff0c;require遵循的是CommonJS规范&#xff0c;他们都用于加载模块&#xff0c;当我们的项目是使用es6规范时&#xff0c; 需要使用一个地方的commonJs规范的模块&#xff0c; 我们就可以使用 import xxx …

STM32 外设简介

STM32 外设简介 STM32 是由意法半导体 (STMicroelectronics) 开发的一系列基于 ARM Cortex 内核的微控制器&#xff0c;广泛应用于嵌入式系统中。STM32 系列的一个重要特点是其丰富而强大的外设模块&#xff0c;支持多种接口和功能&#xff0c;能满足工业控制、物联网、消费电…

Python使用ffmpeg进行本地视频拉流,并使用训练模型识别人脸,并将识别后的模型推流源码

前言&#xff1a; Windows上搭建nginx-rtsp流媒体服务器&#xff0c;实现FFmpeg推流、录像转rtsp推流 - WayWayWayne - 博客园参考上述文章和一些webRTC前端拉流文章 主要是缕一缕思路和每个部分的代码功能&#xff0c;文件命名高度相似导致。 效果&#xff1a; 代码&#x…

Java面经之JVM

[1]. 说说双亲委派机制&#xff1f; 类的加载器主要有启动类加载器、拓展类加载器、应用程序类加载器、用户自定义类加载器。 当Java程序需要加载一个类时&#xff0c;类加载器首先会检查是否已经加载过该类&#xff0c;如果已经加载过&#xff0c;则直接返回该类&#xff1b…

训练的decoder模型文本长度不一致,一般设置为多大合适,需要覆盖最长的文本长度么

在训练解码器模型时,文本长度不一致是常见的情况,需要根据任务的特性和数据集的长度分布来设置合理的最大长度 (max_length)。以下是一些指导原则,帮助你设置合适的最大长度: 1. 是否需要覆盖最长文本长度 覆盖最长文本长度: 如果任务对完整性要求很高(例如生成数学公式、…

【去毛刺】OpenCV图像处理基础:腐蚀与膨胀操作入门

在数字图像处理中&#xff0c;形态学操作是一种常用的技术&#xff0c;用于提取图像中的特定形状或特征。其中&#xff0c;腐蚀&#xff08;Erosion&#xff09;和膨胀&#xff08;Dilation&#xff09;是两种基本的形态学运算。本文将通过一个简单的例子来演示如何使用Python中…

2024年11月27日Github流行趋势

项目名称&#xff1a;screenshot-to-code 项目维护者&#xff1a;abi clean99 sweep-ai kachbit vagusX项目介绍&#xff1a;通过上传截图将其转换为整洁的代码&#xff08;支持HTML/Tailwind/React/Vue&#xff09;。项目star数&#xff1a;62,429项目fork数&#xff1a;7,614…

Linux八股积累与笔记

1、iptables 是一个用于配置Linux内核防火墙规则的工具。四表五链&#xff1a;在iptables中&#xff0c;有四个表&#xff08;tables&#xff09;和五个链&#xff08;chains&#xff09;&#xff0c;用于管理不同类型的数据包过滤规则。如下&#xff1a; 表&#xff08;Tabl…

Qt5.14.2的安装与环境变量及一些依赖库的配置

目录 1.Qt5.14.2安装 2.Qt环境变量及一些依赖库的配置 1.Qt5.14.2安装 QT从入门到入土&#xff08;一&#xff09;——Qt5.14.2安装教程和VS2019环境配置 - 唯有自己强大 - 博客园 2.Qt环境变量及一些依赖库的配置 假设QT安装目录为: D:\Qt\Qt5.14.2 将目录: D:\Qt\Qt5.14.…