当前位置: 首页 > news >正文

Docker容器里面部署的Jenkins的Java17升级到21版本(无需删除之前容器,内部在线升级) - 攻城狮

发现Jenkins出现了如此提示:

Java 17 end of life in Jenkins
You are running Jenkins on Java 17, support for which will end on or after Mar 31, 2026. Refer to the documentation for more details.

image

 

原因是java17将逐渐退出舞台,取而代之的是java21。Jenkins也在逐步升级淘汰java版本。

解决办法:

1、输入命令进入容器内部,查询当前版本

docker exec -it -u root <容器名或ID> /bin/bash
java -version

确认当前版本为OpenJDK 17(如 openjdk version "17.0.8.1")。

image

 2、添加相关三方库(如果遇到 Unable to locate package openjdk-21-jdk 错误,说明默认仓库可能不包含Java 21,需要手动添加仓库)

# 添加第三方仓库(如Adoptium或Azul Zulu)
apt-get install -y wget
wget -O - https://packages.adoptium.net/artifactory/api/gpg/key/public | apt-key add -
echo "deb https://packages.adoptium.net/artifactory/deb $(awk -F= '/^VERSION_CODENAME/{print$2}' /etc/os-release) main" > /etc/apt/sources.list.d/adoptium.list
apt-get update && apt-get install -y temurin-21-jdk

3、更新软件包索引并安装OpenJDK 21

apt-get update && apt-get install -y openjdk-21-jdk

4、验证安装

java -version

预期输出应包含 openjdk version "21.x.x"。(若还是OpenJDK 17,则继续往下看)

5、设置默认JDK(如果已有多个版本)​

update-alternatives --config java

你会看到类似这样的选项:

image

 输入 2(选择 OpenJDK 21),然后按 Enter 确认。

再次运行:java -version 

如果仍然显示 17,可能是:

  1.PATH 环境变量未更新​(见下一步)。

  2.某些进程缓存了旧 JDK 路径​(需重启容器)。

6、检查 PATH 环境变量​

echo $PATH

确保 /usr/lib/jvm/temurin-21-jdk-amd64/bin 在 PATH 中,并且优先级高于旧版本 JDK 路径(如 /usr/lib/jvm/java-17-openjdk-amd64/bin)。

如果 PATH 不正确,可以手动更新:

echo 'export PATH=/usr/lib/jvm/temurin-21-jdk-amd64/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

再次查看java -version 显示正常

image

 

http://www.jsqmd.com/news/23792/

相关文章:

  • 布谷直播系统源码:高并发直播架构设计到搭建部署配置
  • 医疗器械行业数字化破局:一体化平台正在淘汰多系统集成模式
  • 报表知识
  • 【IEEE出版 | 往届均已完成见刊检索 | 见刊检索稳定】第七届信息与计算机前沿术国际学术会议(ICFTIC 2025)
  • 动态点分树
  • 2025年隔热条厂家权威推荐榜:尼龙隔热条/PA66尼龙隔热条/建筑用隔热条/断桥铝门窗隔热条/幕墙隔热条/阳光房隔热条/国标隔热条精选
  • 【前端效率工具】:告别右键另存,不到 50 行代码一键批量下载网页图片
  • 特殊符号的输入
  • Luogu P3237 [HNOI2014] 米特运输 题解 [ 蓝 ] [ 树形 DP ] [ 哈希 ]
  • 「Gym 104901F」Say Hello to the Future
  • 渐进过程中大O与小o混用
  • Navicat 17 超详细保姆级下载安装教程:附激活工具使用步骤​
  • 消息队列的有序性
  • 【LTDC】DMA2D —— 嵌入式系统的 GPU
  • 各个版本的sqlite-jdbc jar下载链接
  • [电脑]win10下SVN图标不显示
  • 2025/10/27~2025/11/2 做题笔记 - sb
  • echart - f
  • 完整教程:LinuxC++——etcd分布式键值存储系统入门
  • 基于MATLAB的光学CCD全息成像仿真程序实现
  • el-date-picker样式修改
  • 我从哪里起飞 从哪里降落 多少不能原谅的错 却不能重来过
  • unity管理器设计:Manager of Managers
  • iview table 排序 columns 里面写 sortable: custom 不要写 sortable: true 不然会进行二次内部排序序号等 字段。
  • 决策不再凭感觉!Tita用数据驱动销售与交付的一体化协同
  • 浅谈 Agent 开发工具链演进历程
  • 为IvorySQL增添PACKAGE语法帮助
  • MATLAB 时间序列小波周期分析
  • # 情绪日历应用(python AI项目)
  • 读《程序员修炼之道:从小工到专家》