Answers:
删除所有与Java相关的软件包(Sun,Oracle,OpenJDK,IcedTea插件,GIJ):
dpkg-query -W -f='${binary:Package}\n' | grep -E -e '^(ia32-)?(sun|oracle)-java' -e '^openjdk-' -e '^icedtea' -e '^(default|gcj)-j(re|dk)' -e '^gcj-(.*)-j(re|dk)' -e '^java-common' | xargs sudo apt-get -y remove
sudo apt-get -y autoremove
清除配置文件(注意。此命令也删除了libsgutils2-2和virtualbox配置文件):
dpkg -l | grep ^rc | awk '{print($2)}' | xargs sudo apt-get -y purge
删除Java配置和缓存目录:
sudo bash -c 'ls -d /home/*/.java' | xargs sudo rm -rf
删除手动安装的JVM:
sudo rm -rf /usr/lib/jvm/*
从替代项中删除Java条目(如果仍有):
for g in ControlPanel java java_vm javaws jcontrol jexec keytool mozilla-javaplugin.so orbd pack200 policytool rmid rmiregistry servertool tnameserv unpack200 appletviewer apt extcheck HtmlConverter idlj jar jarsigner javac javadoc javah javap jconsole jdb jhat jinfo jmap jps jrunscript jsadebugd jstack jstat jstatd native2ascii rmic schemagen serialver wsgen wsimport xjc xulrunner-1.9-javaplugin.so; do sudo update-alternatives --remove-all $g; done
搜索可能的剩余Java目录:
sudo updatedb
sudo locate -b '\pack200'
如果上面的命令产生任何输出,例如,/path/to/jre1.6.0_34/bin/pack200
删除bin的父目录,如下所示:sudo rm -rf /path/to/jre1.6.0_34
。
grep
管道传输到的输出apt-get remove
,我认为它涵盖了有关通过deb软件包进行安装的几乎所有可能性。
sudo bash -c 'ls -d /home/*/.java' | xargs sudo rm -rf
,来自终端的响应被声明为无效。
要在Ubuntu 11.10上完全删除OpenJDK(这在其他版本的Ubuntu上可能足够,也可能不够),请运行:
sudo apt-get purge openjdk-\* icedtea-\* icedtea6-\*
如果您需要有关删除专有的Oracle(“ Sun”)Java版本的说明,则必须指定安装方式。(如果您编辑问题以表明这一点并对此答案发表评论,我也会尝试添加有关如何删除该问题的信息。)
您可能不需要完全删除OpenJDK即可解决问题。安装sun-java6软件包。然后使用update-java-alternatives
切换到Sun java软件包。
如果确实要完全删除OpenJDK,则删除default-jdk和/或default-jre软件包。您可能需要删除一些Java软件包,但是一旦安装了Sun JDK软件包,它们中的大多数应该会很高兴。
删除软件包后,您可能需要遵循以下清理技巧之一。
要卸载Oracle Java 7,只需按 键盘上的Ctrl+ Alt+ T打开终端。打开时,运行以下命令。
sudo update-alternatives --display java
在卸载Java之前检查设置。
接下来,删除符号链接
(将单词(版本)替换为您的Java版本。java -version
请获取您的Java版本。因此,如果您的版本为1.7.0_03,则可以type sudo update-alternatives --remove "java" "/usr/lib/jvm/jdk1.7.0_03/bin/java"
)
sudo update-alternatives --remove "java" "/usr/lib/jvm/jdk<version>/bin/java" sudo update-alternatives --remove "javac" "/usr/lib/jvm/jdk<version>/bin/javac" sudo update-alternatives --remove "javaws" "/usr/lib/jvm/jdk<version>/bin/javaws"
验证符号链接已删除
java -version javac -version which javaws
接下来的2个命令必须完全正确地键入,以避免永久破坏系统。
cd /usr/lib/jvm sudo rm -rf jdk<version>
然后做
sudo update-alternatives --config java sudo update-alternatives --config javac sudo update-alternatives --config javaws
然后做
sudo vi /etc/environment
删除带有JAVA_HOME 1的行
卸载OpenJDK(如果已安装)。首先检查安装了哪些OpenJDK软件包。
sudo dpkg --list | grep -i jdk
删除openjdk:
sudo apt-get purge openjdk*
卸载与OpenJDK相关的软件包。
sudo apt-get purge icedtea-* openjdk-*
检查是否已删除所有OpenJDK软件包。
sudo dpkg --list | grep -i jdk
1资料来源: akbarahmed.com
/usr/lib/jvm
文件夹吗?据我所知,仅Java使用。
试试这个命令:
java -version
如果出现1.6 *,请尝试:
sudo apt-get autoremove openjdk-6-jre
如果1.7 *出现,请尝试:
sudo apt-get autoremove openjdk-7-jre
假设您的系统中没有jdk。如果使用此命令:
sudo apt-get autoremove openjdk-`<version>`-jdk
替换为之前示例中的版本。
只需删除所有JDK或JRE文件,例如通常将其安装在以下位置:
/usr/lib/jvm/java-7-oracle
因此,请以root用户权限删除驻留在“ java-7-oracle”文件夹中的所有文件,并在其中提取最新的JDK或JRE文件。就是这样,现在您已经安装了最新的Java版本。
PS您的目录名称可能与java-7-oracle不同。