JDK 1.8 已经装好,JDK 17 安装

📅 2026/7/9 1:59:15 👁️ 阅读次数 📝 编程学习
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 路径的应用

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