必须先彻底卸载旧版JDK再安装新版,包括删除安装目录、清理注册表(Windows)或shell配置(macOS/Linux)、移除环境变量中旧路径,再下载官方新版JDK并正确配置JAVA_HOME与PATH。

彻底卸载旧版Java JDK并干净安装新版,避免环境变量冲突、残留配置导致javac命令失效或IDE识别不到JDK路径。
确认当前JDK安装位置与版本
打开终端(Windows用CMD/PowerShell,macOS/Linux用Terminal),执行:
java -version && javac -version
若提示“不是内部或外部命令”或版本明显陈旧,说明系统可能有多个JDK共存,或PATH指向了错误路径。这一步必须做,否则后续卸载可能漏掉隐藏安装点。
再执行:
where java(Windows)或 which java(macOS/Linux)
立即学习“Java免费学习笔记(深入)”;
记录输出的完整路径,例如 C:\Program Files\Java\jdk-17.0.2 或 /Library/Java/JavaVirtualMachines/jdk-21.jdk —— 这是你需要重点清理的主目录。
Windows系统彻底卸载JDK
方法一:通过控制面板卸载(仅适用于.msi安装包)
打开【控制面板 → 程序和功能】→ 找到名称含“JDK”“Java Development Kit”的条目 → 右键卸载。
方法二:手动删除(覆盖所有安装方式,必做)
进入上一步查到的JDK安装根目录(如 C:\Program Files\Java\jdk-17.0.2)→ 全选文件夹内容 → Shift+Delete永久删除。
⚠️注意:不要只删文件夹名带版本号的目录,有些用户曾用zip解压方式安装,目录可能在D:\dev\jdk21,必须按which/where结果定位。
方法三:清除注册表残留(仅Windows)
Win+R → 输入 regedit → 定位到:
HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\JDK
右键删除整个JDK子项;若存在 JRE 子项且你确定不再需要旧JRE,一并删除。
【操作前务必导出该分支备份】,误删其他JavaSoft项可能导致Java运行时异常。
macOS系统卸载JDK
第一步:删除JVM主目录
执行:
sudo rm -rf /Library/Java/JavaVirtualMachines/jdk-*.jdk
第二步:检查用户级安装(常见于SDKMAN或Homebrew)
运行:
ls -la ~/.sdkman/candidates/java/
若存在版本目录(如 21.0.3-tem、17.0.8-open),执行:
sdk uninstall java 21.0.3-tem
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
第三步:清理shell配置中的JAVA_HOME引用
检查 ~/.zshrc、~/.bash_profile 或 ~/.profile 中是否含 export JAVA_HOME=... 行,找到后整行删除或注释掉(在行首加#)。
这一步不做,新装JDK后终端仍会沿用旧路径,javac -version可能报错“command not found”。
Linux系统卸载JDK(以Ubuntu/Debian为例)
① 卸载apt安装的openjdk:
apt list --installed | grep openjdk → 找到类似 openjdk-17-jdk:amd64 → 执行:
sudo apt remove --purge openjdk-17-jdk openjdk-17-jre
② 删除手动解压安装的JDK:
用 which java 和 readlink -f $(which java) 确认真实路径 → 若指向 /opt/jdk-21 或 ~/jdk,直接 rm -rf 对应目录。
③ 清理环境变量:
检查 /etc/environment、/etc/profile 及 ~/.bashrc 中的 JAVA_HOME 和 PATH 相关行,逐行删除。
【切勿仅修改JAVA_HOME而不从PATH中移除旧jdk/bin】,否则即使JAVA_HOME正确,系统仍优先调用PATH中靠前的旧javac。
下载并安装新版JDK
访问官方渠道:
Oracle JDK:https://www.oracle.com/java/technologies/downloads/(需登录)
OpenJDK(推荐):https://adoptium.net/(Eclipse Temurin)或 https://bellsoft.com/java-downloads(Liberica)
选择与操作系统匹配的架构(x64/arm64)、格式(.exe/.dmg/.tar.gz)及LTS版本(如21或17)。
Windows双击.exe → 勾选“Add to PATH” → 自定义安装路径建议避开空格和中文(如 C:\dev\jdk21);
macOS双击.dmg → 拖拽JDK图标到Applications文件夹;
Linux解压tar.gz后,移动到 /opt 或 ~/jdk21,确保权限为 r-xr-xr-x。
配置JAVA_HOME与PATH(跨平台关键步骤)
先确认新JDK的绝对路径:
Windows:查看安装向导最后一页显示的路径,或进入安装目录复制地址栏路径;
macOS:/Library/Java/JavaVirtualMachines/jdk-21.0.3.jdk/Contents/Home;
Linux:解压路径下的 jdk-21.0.3/bin 上级目录。
然后设置环境变量:
Windows:系统属性 → 高级 → 环境变量 → 新建系统变量 JAVA_HOME = 【上述路径】→ 编辑PATH → 新增 %JAVA_HOME%\bin;
macOS/Linux:在 ~/.zshrc(或 ~/.bashrc)末尾添加:
export JAVA_HOME=$(/usr/libexec/java_home -v21) # macOS推荐此动态方式
export PATH=$JAVA_HOME/bin:$PATH
保存后重启终端,执行 source ~/.zshrc(macOS)或 source ~/.bashrc(Linux),再运行 java -version 和 javac -version 验证输出一致且为新版本号。

















