如何在 Windows 上卸载 Oracle JDK 21
先保留 Java 项目,确认哪些工具依赖 Oracle JDK 21,再卸载它。
先退出应用
关闭 Oracle JDK 21 及其正在执行的任务,按 Ctrl+Shift+Esc 打开任务管理器,核对是否还有它的进程。
用自带的卸载器移除
打开设置 › 应用 › 已安装的应用,找到 Oracle JDK 21 后选择卸载,运行厂商卸载器,不直接删除程序目录。
winget uninstall --id Oracle.JDK.21 --exact
对这个安装,winget 调用登记的卸载方式,不会另外替你清理用户数据,Windows 可能要求管理员确认。
检查结果
winget list --id Oracle.JDK.21 --exact
Test-Path -LiteralPath "${env:ProgramFiles}\Java\jdk-21.0.12" -ErrorAction Stop
同时看 winget 的结果和退出状态,明确返回未安装只说明这个包不在,源、权限或查询报错都不能当成已卸载,Test-Path 成功返回 True 表示这个具体位置还在,False 表示不存在,都不代表其他路径也已清理,这些命令不会删除内容。
Mole 会列出什么
| 位置 | 项目 | 默认状态 |
|---|---|---|
%ProgramFiles%\Java\jdk-21.0.12 |
程序文件 | 随应用那一行处理 |
%ProgramFiles%\Java\jdk-21.0.12 |
这个程序的使用记录 | 默认勾选 |
MSI 卸载完成,选中的程序目录已删除,使用记录已不存在,这次用的是在 ARM64 上运行的 x64 MSI,没有验证带着 Java 任务运行时卸载。
这里的默认状态以关闭“卸载时一并移除数据和配置”为前提,明确点击全选或一并移除用户数据会包含列出的个人数据,确认前核对勾选,Mole 删除的已选文件进回收站,已选注册表项先备份再移除,厂商卸载器有自己的删除方式。
这次检查覆盖了什么
记录日期 2026-10-20,Oracle JDK 21,版本 21.0.12.0,全机范围,MSI,winget 包为 Oracle.JDK.21,证据来自 ARM64 Windows 测试环境和 Mole 开发构建,不代表当前下载包已验证,也没有据此验证真实账号、同步资料或生产项目的卸载。
厂商文档,上面的路径和卸载结果来自 Windows 实测,单独注明厂商来源的内容除外。
