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 中开启平台需明确具体平台类型,如虚拟化平台可通过安装相关软件(

    2025年8月13日
    3300
  • linux 如何去掉文件空值

    Linux中,可以使用sed ‘/^$/d’ filename命令去掉文件中的空

    2025年8月19日
    3800
  • Linux系统里如何查看网卡的硬件ID或设备标识?

    在Linux系统中,网卡的“ID”通常指代多种标识信息,包括物理地址(MAC地址)、网络接口名称(如eth0、ens33)、PCI设备ID(硬件标识)以及驱动模块名称等,这些ID在系统管理、网络配置、故障排查中至关重要,本文将详细介绍如何通过不同命令和方法查看这些网卡ID,并说明各场景下的适用场景和注意事项,查……

    2025年9月23日
    2600
  • 移除MySQL核心包会引发什么后果?

    在Linux上卸载MySQL数据库实例需要谨慎操作,避免残留文件影响后续安装或占用资源,以下是详细步骤,适用于主流发行版(Ubuntu/Debian/CentOS/RHEL),操作前务必备份重要数据:准备工作备份数据(防止误删)使用mysqldump备份所有数据库:mysqldump -u root -p……

    2025年7月19日
    4200
  • linux如何备份oracle数据库

    在Linux环境下对Oracle数据库进行备份是保障数据安全、应对系统故障或人为误操作的关键措施,Oracle数据库备份主要分为物理备份和逻辑备份两大类,物理备份直接复制数据库文件(如数据文件、控制文件、日志文件等),逻辑备份则通过导出数据库对象(如表、存储过程等)的SQL语句或二进制文件实现,结合Linux系……

    2025年9月29日
    1800

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信