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

JDK 1.8 已经装好,JDK 17 安装

从截图看,JDK 1.8 已经装好,路径是/usr/lib/jvm/java-8-openjdk-amd64,JDK 17 安装包openlogic-openjdk-17.0.10+7-linux-x64.tar.gz也已经下载到桌面。

下面按步骤操作,完全不影响 JDK 1.8


第一步:解压 JDK 17 到独立目录

# 切换到 JDK 17 包所在目录(桌面)cd~/Desktop# 解压到 /usr/lib/jvm/ 下sudotar-xzfopenlogic-openjdk-17.0.10+7-linux-x64.tar.gz-C/usr/lib/jvm/# 查看解压后的目录名ls/usr/lib/jvm/# 会有 java-8-openjdk-amd64(已有)和 openlogic-openjdk-17(新)

第二步:注册 JDK 17 到 alternatives(不切换默认)

# 注册 JDK 17 的 java 命令sudoupdate-alternatives--install/usr/bin/javajava/usr/lib/jvm/openlogic-openjdk-17/bin/java2# 注册 JDK 17 的 javac 命令sudoupdate-alternatives--install/usr/bin/javac javac /usr/lib/jvm/openlogic-openjdk-17/bin/javac2# 查看当前选项列表update-alternatives--listjava

第三步:确认 JDK 8 仍然是默认

java-version# 应该仍然显示 1.8.0_362,如果没有,执行下面的切回命令# 切回 JDK 8(如果意外变了)sudoupdate-alternatives--setjava/usr/lib/jvm/java-8-openjdk-amd64/bin/javasudoupdate-alternatives--setjavac /usr/lib/jvm/java-8-openjdk-amd64/bin/javac

第四步:按需使用 JDK 17

方式 A:交互式切换

# 切换到 JDK 17sudoupdate-alternatives--configjavasudoupdate-alternatives--configjavac# 选 JDK 17 对应的序号# 切回 JDK 8sudoupdate-alternatives--configjava# 选 JDK 8 对应的序号

方式 B:按项目指定(推荐,互不干扰)

# 用 JDK 17 运行/usr/lib/jvm/openlogic-openjdk-17/bin/java-jarapp.jar /usr/lib/jvm/openlogic-openjdk-17/bin/javac MyApp.java# 用 JDK 8 运行(不变)/usr/lib/jvm/java-8-openjdk-amd64/bin/java-jarapp.jar

方式 C:写两个切换脚本

# /usr/local/bin/use-jdk8exportJAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64exportPATH=$JAVA_HOME/bin:$PATH# /usr/local/bin/use-jdk17exportJAVA_HOME=/usr/lib/jvm/openlogic-openjdk-17exportPATH=$JAVA_HOME/bin:$PATH

总结

操作是否影响 JDK 8
解压 JDK 17 到独立目录❌ 不影响
update-alternatives 注册❌ 不影响(只要不 --set 切换默认)
用绝对路径运行 JDK 17❌ 不影响
切默认版本到 JDK 17⚠️ 影响全局 java 命令,但不影响写死 JDK 8 路径的应用

核心原则:解压到独立目录 + 不切换默认 = 完全安全。

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

相关文章:

  • 微信公众号原生Servlet开发零基础实战教程(附公众号主体变更迁移公证书办理流程及完整后端运行代码)
  • VSP One:走向统一的数据基础设施
  • 记一次使用 cloudflared tunnel 内网穿透
  • PCL 无序点云的快速三角剖分
  • 【单片机毕业设计】基于 51/STM32 单片机的超声波测距声光报警系统设计,基于 STM32/51 单片机的近距离测距预警装置开发(022901)
  • AI 眼镜不是下一台手机,而是 AI 终于长出了眼睛
  • 理解平衡树数据结构在数据库索引中的核心价值
  • 爱丁堡大学与MIT联手打造的AI科学家
  • 终极Armbian部署指南:将闲置电视盒子变身高性能Linux服务器
  • 倒装芯片封装 3 种凸块工艺对比:金/铜柱/锡凸块选型与 5 项关键参数
  • Scikit-learn 1.5实战:3行代码完成K-Means聚类与逻辑回归分类
  • 暗黑破坏神2存档编辑器完整技术指南:从入门到深度定制
  • HFSS 2024 R2 仿真分析:微带线与带状线在 20GHz 下的辐射与串扰差异
  • 数值计算优化:避免浮点数误差的算法设计
  • HarmonyKit | 鸿蒙新特性实践:UUID v4 生成器的纯 ArkTS 实现
  • 信号完整性设计实战:3种端接方案消除反射,眼图张开度提升40%
  • 如何高效找回加密压缩包的密码:ArchivePasswordTestTool完全指南
  • OpenCV/Python 实现热红外 NUC:3 种校正算法实战与 640x512 图像效果对比
  • 5分钟快速上手:终极免费Chrome视频下载助手完整指南
  • 实时推荐系统架构设计与优化
  • 非技术人想转AI,不一定要转开发,可以先转向AI应用型岗位
  • 【AI专栏】图解Transformer - 第04章:LLM生成
  • BMS AFE芯片开路诊断逻辑深度解析(硬件原理+工程实现+避坑方案)
  • IntelliJ IDEA高效使用指南
  • 提升中标率基础要素
  • 【单片机毕业设计】基于 51 单片机的二路超声波测距报警系统设计与实现,基于 STM32 单片机的双路超声波测距预警装置开发(023001)
  • 6款靠谱降AIGC平台 降痕效果拉满
  • 导师都惊呆了!8个AI写作辅助软件,从选题到润色全包了!
  • BiliDownloader终极指南:5步掌握B站视频下载的完整方案
  • 开发自定义工具(重要)