在 Debian 系统里“卸载旧 Java”通常分两种情况:用 apt 安装的 OpenJDK 和 手动安装的 Oracle JDK / 其他 JDK。下面分别说明。
dpkg -l | grep -i jdk
dpkg -l | grep -i java
或:
update-alternatives --list java
例如卸载 Java 11:
sudo apt remove --purge openjdk-11-jdk openjdk-11-jre
如果是 Java 8:
sudo apt remove --purge openjdk-8-jdk openjdk-8-jre
sudo apt remove --purge 'openjdk-*' 'oracle-java*'
sudo apt autoremove
sudo apt clean
如果你只是想“不用旧 Java”,可以:
sudo update-alternatives --config java
选择需要的版本即可。
删除某个 Java 的 alternatives:
sudo update-alternatives --remove java /usr/lib/jvm/旧java路径/bin/java
手动安装的通常不在 apt 管理范围内:
which java
常见路径:
/usr/local/java/
/opt/java/
/usr/lib/jvm/
sudo rm -rf /usr/lib/jvm/jdk1.8.0_xxx
编辑:
sudo nano /etc/profile
# 或
nano ~/.bashrc
删除类似:
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_xxx
export PATH=$JAVA_HOME/bin:$PATH
sudo update-alternatives --remove java /usr/lib/jvm/jdk1.8.0_xxx/bin/java
java -version
如果还有输出,说明还有 Java 存在,可继续排查。
如果你愿意,可以贴一下:
dpkg -l | grep -i jdk
的输出,我可以帮你精确给出该卸载哪几个包。