Linux如何彻底卸载JDK?

在 Linux 系统中卸载 JDK(Java Development Kit)需要根据安装方式选择对应方法,以下是针对不同安装场景的详细步骤,操作前请务必备份重要数据,并确保拥有管理员权限(使用 sudo)。


卸载前的准备工作

  1. 确认已安装的 JDK 版本
    终端执行以下命令查看已安装的 Java 环境:

    java -version     # 检查默认 Java 版本
    update-alternatives --list java  # 列出所有已注册的 Java 版本

    输出示例:

    openjdk 11.0.19 2025-04-18
    OpenJDK Runtime Environment (build 11.0.19+7-post-Ubuntu-0ubuntu122.04)
  2. 检查 JDK 安装来源

    • 包管理器安装(如 apt/yum):通过系统仓库安装,卸载最规范。
    • 手动安装(如解压 .tar.gz):需手动删除文件和清理环境变量。
    • Oracle JDK 安装:可能包含独立安装包,需特殊处理。

通过包管理器卸载(推荐方法)

适用场景:通过 apt(Debian/Ubuntu)、yum(CentOS/RHEL)或 dnf(Fedora)安装的 OpenJDK。

步骤:

  1. 查找完整的 JDK 包名

    # Debian/Ubuntu 系统
    dpkg --list | grep -i jdk
    # CentOS/RHEL/Fedora 系统
    rpm -qa | grep -i jdk

    输出示例:openjdk-11-jdk:amd64 11.0.19+7-0ubuntu1~22.04

  2. 卸载 JDK 包

    # Debian/Ubuntu 系统
    sudo apt purge openjdk-11-jdk   # 替换为实际包名
    # CentOS/RHEL/Fedora 系统
    sudo yum remove java-11-openjdk-devel  # 替换为实际包名
  3. 清理依赖和缓存

    sudo apt autoremove && sudo apt clean    # Ubuntu
    sudo yum autoremove && sudo yum clean all  # CentOS

手动安装的 JDK 卸载

适用场景:从官网下载 .tar.gz.bin 文件解压安装。

步骤:

  1. 删除 JDK 安装目录
    通常位于 /usr/lib/jvm//opt/

    sudo rm -rf /usr/lib/jvm/jdk-11.0.19/  # 替换为你的 JDK 路径
  2. 清理环境变量
    编辑配置文件(如 ~/.bashrc/etc/profile):

    sudo nano ~/.bashrc

    删除或注释以下行:

    export JAVA_HOME=/usr/lib/jvm/jdk-11.0.19
    export PATH=$PATH:$JAVA_HOME/bin

    应用更改:

    source ~/.bashrc
  3. 移除 update-alternatives 链接

    sudo update-alternatives --remove "java" "/usr/lib/jvm/jdk-11.0.19/bin/java"
    sudo update-alternatives --remove "javac" "/usr/lib/jvm/jdk-11.0.19/bin/javac"

卸载 Oracle JDK

  1. 通过包卸载
    若使用官方 RPM/DEB 包安装:

    # Ubuntu
    sudo apt purge oracle-java11-installer
    # CentOS
    sudo rpm -e jdk-11.0.19  # 替换为实际包名
  2. 手动删除
    若使用 Oracle 的 .tar.gz 安装:

    sudo rm -rf /usr/java/jdk-11.0.19/  # 默认路径

验证卸载结果

  1. 检查 Java 是否不存在:

    java -version  # 应提示 "Command 'java' not found"
    which java     # 无输出
  2. 检查环境变量:

    echo $JAVA_HOME  # 应为空或旧路径已失效

常见问题解决

  • 残留文件清理
    检查以下目录并手动删除:
    /usr/bin/java(软链接)、/etc/alternatives/java~/.java/

  • 多版本冲突
    使用 sudo update-alternatives --config java 切换默认版本后再卸载。

  • 依赖错误
    若提示 Package not found,确认包名是否正确(如 openjdk-11-jdkopenjdk-11-jdk-headless 是不同包)。


注意事项

  1. 谨慎操作 rm -rf:误删系统目录可能导致系统崩溃。
  2. 生产环境备份:卸载前备份 JAVA_HOME 路径下的重要项目。
  3. 环境变量更新:修改后务必执行 source 命令或重启终端。

引用说明:本文方法参考 OpenJDK 官方文档、Oracle JDK 卸载指南及 Linux 核心工具手册(man update-alternatives),操作基于 Ubuntu 22.04/CentOS 7 验证,适用于主流 Linux 发行版。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/5871.html

(0)
酷番叔酷番叔
上一篇 2025年6月28日 18:09
下一篇 2025年6月28日 18:33

相关推荐

  • Linux中如何设置行号显示?

    在Linux系统中,行号是文本处理和编程调试中的重要辅助工具,能够快速定位文件内容的位置,无论是使用文本编辑器编写代码,还是通过终端命令查看文件内容,设置行号都能提升操作效率,本文将详细介绍在不同场景下设置行号的方法,包括常用文本编辑器(如Vim、Nano、Gedit)和终端命令(如cat、less、grep等……

    2025年10月7日
    9900
  • linux电脑被挖矿如何解决

    挖矿进程,检查并删除相关文件与软件,强化系统安全设置,更新系统及软件

    2025年8月14日
    11800
  • linux如何运行mysql

    Linux上运行MySQL,先安装MySQL服务器,配置环境变量,启动服务

    2025年8月17日
    10400
  • Linux如何正确关闭网络连接?3种方法

    断开特定客户端的TCP连接当需要终止某个远程客户端(如SSH用户或异常访问IP)的活跃连接时:定位目标连接使用ss或netstat命令查看活跃连接:sudo ss -tunp | grep <客户端IP或端口> # 示例:sudo ss -tunp | grep 192.168.1.100输出示例……

    2025年6月23日
    13300
  • Linux中如何设置网关?

    在Linux网络中,网关(Gateway)是连接本地网络与其他网络(如互联网)的关键设备,负责将本地数据包转发到目标网络,若未正确配置网关,会导致主机无法访问外部资源(如网站、远程服务器),本文将详细介绍Linux中临时与永久设置网关的方法,涵盖不同发行版的操作步骤,并附注意事项及常见问题解答,临时设置网关临时……

    2025年8月29日
    11000

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信