Remove all the Java related packages (Sun, Oracle, OpenJDK, IcedTea plugins, 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 autoremovePurge config files (careful. This command removed libsgutils2-2 and virtualbox config files too):
dpkg -l | grep ^rc | awk '{print($2)}' | xargs sudo apt-get -y purgeRemove Java config and cache directory:
sudo bash -c 'ls -d /home/*/.java' | xargs sudo rm -rfRemove manually installed JVMs:
sudo rm -rf /usr/lib/jvm/*Remove Java entries, if there is still any, from the alternatives:
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; doneSearch for possible remaining Java directories:
sudo updatedb sudo locate -b '\pack200'If the command above produces any output like
/path/to/jre1.6.0_34/bin/pack200remove the directory that is parent of bin, like this:sudo rm -rf /path/to/jre1.6.0_34.
Remove all the Java related packages (Sun, Oracle, OpenJDK, IcedTea plugins, 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 autoremovePurge config files (careful. This command removed libsgutils2-2 and virtualbox config files too):
dpkg -l | grep ^rc | awk '{print($2)}' | xargs sudo apt-get -y purgeRemove Java config and cache directory:
sudo bash -c 'ls -d /home/*/.java' | xargs sudo rm -rfRemove manually installed JVMs:
sudo rm -rf /usr/lib/jvm/*Remove Java entries, if there is still any, from the alternatives:
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; doneSearch for possible remaining Java directories:
sudo updatedb sudo locate -b '\pack200'If the command above produces any output like
/path/to/jre1.6.0_34/bin/pack200remove the directory that is parent of bin, like this:sudo rm -rf /path/to/jre1.6.0_34.
To completely remove OpenJDK on Ubuntu 11.10 (this may or may not be sufficient on other versions of Ubuntu), run:
sudo apt-get purge openjdk-\* icedtea-\* icedtea6-\*
If you want instructions for removing the proprietary Oracle ("Sun") version of Java, then you'll have to specify how you installed it. (If you edit your question to indicate this and leave a comment to this answer, I'll try to add information about how to remove that too.)
help me uninstall java that is installed and work but not uninstallable by apt or snap???
Can't remove java in Ubuntu 16.04 - Stack Overflow
how to remove default-jre java installation from Ubuntu? - Stack Overflow
How to uninstall versions of Java openJDK - Unix & Linux Stack Exchange
Videos
Try with this code in terminal to remove java 8:
sudo apt-get purge oracle-java8-installer
Then type:
javac -version
The output should be:
javac: command not found
and to install java 7 in Ubuntu I use this code in terminal:
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer
After that type the following to see if there is java installed:
java -version
The output should be:
java version "1.7.0_80"
First, you should not need to uninstall Java 8 to switch to Java 7, due to the alternatives system. Merely installing oracle-java7-installer will make Java 7 the preferred JVM/JDK. If you ever do need Java 8:
$ sudo update-java-alternatives --set java-8-oracle
Note that this changes /usr/bin/java, thus affecting everything on that system that relies on the default java. You may want to set JAVA_HOME (to, e.g., /usr/lib/jvm/java-8-oracle) if there is a single app that needs a different java.
WARNING: This works only for Oracle Java installed via webupd8 packages! Adding any OpenJDK package has undefined results!
If you really do need to get rid of Java8, the removal scripts for oracle-java8-installer will remove the JDK as well as the installer.
maxtrax@maxtrax-MS-7B89:~/Clanlord$ java -version
openjdk version "21.0.4" 2024-07-16
OpenJDK Runtime Environment (build 21.0.4+7-Ubuntu-1ubuntu224.04)
OpenJDK 64-Bit Server VM (build 21.0.4+7-Ubuntu-1ubuntu224.04, mixed mode, sharing)
maxtrax@maxtrax-MS-7B89:~/Clanlord$ sudo apt purge OpenJDK
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package OpenJDK
maxtrax@maxtrax-MS-7B89:~/Clanlord$ snap remove OpenJDK
snap "OpenJDK" is not installed
You've got Oracle Java installed, not OpenJDK. If you want to uninstall it, you can do this:
sudo apt-get remove oracle-java7-*
In effect, you were telling apt to install something that was never installed on your machine.
The thing I actually needed is to change the JAVA_HOME in the environment. For some reason sudo update-alternatives --config java doesn't really help choose the java version.
Here is what I did to solve the issue: https://www.digitalocean.com/community/tutorials/how-to-install-java-with-apt-get-on-ubuntu-16-04
xxx@xxx-VirtualBox:/usr/lib/jvm$ sudo nano /etc/environment
(In which we add JAVA_HOME = "/path/to/java", for me is JAVA_HOME="/usr/lib/jvm/default-java")
$ java -version
java version "1.7.0_05"
Java(TM) SE Runtime Environment (build 1.7.0_05-b06)
Java HotSpot(TM) 64-Bit Server VM (build 23.1-b03, mixed mode)
$ source /etc/environment
$ java -version
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-8u131-b11-2ubuntu1.16.04.3-b11)
OpenJDK 64-Bit Server VM (build 25.131-b11, mixed mode)
Thanks SharpLu and Makoto for the help.
To completely remove jdk from your system, follow these below steps:
- Type
sudo apt-get autoremove default-jdk openjdk-(Don't hitEnterright now). - Now press
tabbutton for 2 or 3 times, you will get list of packages starting withopenjdk-. - Look for name like
openjdk-11-jdk. You need to get java version, here is 11. - Now complete your command to
sudo apt-get autoremove default-jdk openjdk-11-jdk. (Change 11 to your java version) - And Hit
Enterbutton.
Now you have done removing java from your system.
sudo apt-get remove default-jre
removes the package "default-jre". all tho you should ask in askUbuntu
The unwanted versions can be removed by name:
sudo apt remove openjdk-8-jdk
sudo apt remove openjdk-11-jdk
They are installed with different packages.
You can see all the openjdk packages available with this command:
sudo apt update
apt-cache search openjdk
You can see all openjdk packages in your system with:
dpkg -l | grep openjdk
Note: I am a RedHat user, not a Mint expert but this is pretty much the same on every distro. I just checked the package names on Mint for those commands to work.
With the provided instructions I was able to uninstall everything I don't need. I also had to uninstall headless versions separately with commands:
sudo apt remove openjdk-8-jre-headless
sudo apt remove openjdk-11-jre-headless