在 Debian 系统里“卸载旧 Java”通常分两种情况:
下面分别说明。
dpkg -l | grep -i jdk
dpkg -l | grep -i java
或者:
update-alternatives --list java
sudo apt remove --purge openjdk-11-jdk openjdk-11-jre
如果不确定版本:
sudo apt remove --purge openjdk-* jdk-*
(⚠️ 这会删除所有 OpenJDK,谨慎使用)
sudo apt autoremove
sudo apt autoclean
如果你之前用 update-alternatives 配置过:
sudo update-alternatives --config java
删除某个 Java 关联:
sudo update-alternatives --remove java /usr/lib/jvm/java-11-openjdk-amd64/bin/java
如果是解压安装的(如 /opt/jdk1.8.0_xxx):
sudo rm -rf /opt/jdk1.8.0_xxx
并删除环境变量:
sudo nano /etc/profile
# 或
nano ~/.bashrc
删除类似:
export JAVA_HOME=/opt/jdk1.8.0_xxx
export PATH=$JAVA_HOME/bin:$PATH
然后:
source /etc/profile
java -version
如果还有输出,说明还有 Java 没删干净。
如果你只是“想用新 Java,不一定要删旧的”:
sudo apt install openjdk-17-jdk
sudo update-alternatives --config java
可以保留多个版本并随时切换。
如果你愿意,可以贴一下:
dpkg -l | grep -i jdk
我可以帮你精确给出该删哪一行命令。