The Java updater on my Mac installed an obscure version of Java 10.0.1 which I never heard before. The result is that ALL my java apps are not running anymore, which makes Java pointless.
The official instructions to remove Java are:
- sudo rm -fr /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
Which is useless because I don't use Java on the browser (who is crazy enough to do it?)
- sudo rm -fr /Library/PreferencePanes/JavaControlPanel.prefPane
Which is useless because it just removes the preference pane
- sudo rm -fr ~/Library/Application\ Support/Java
Which is useless because this directory is already empty
The official instructions to remove Java on a Mac do absolutely nothing.
If I run my Java apps with java -jar from the terminal they work. From the terminal, I see this:
/usr/libexec/java_home -V
Matching Java Virtual Machines (3):
1.8.0_131, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home
1.6.0_65-b14-468, x86_64: "Java SE 6" /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
1.6.0_65-b14-468, i386: "Java SE 6" /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
So, from the terminal, the Java version is 1.8.0_131, which is my desired version. From the desktop, when I launch apps with JavaAppLauncher, the Java version is 10.0.1.
How can I revert this disaster that Oracle did with their automatic updater?
Best Answer
I had this same problem: I had Java 8 installed, but later installed 10. Then, I removed 10, and when I launched a jar from the terminal it would run in version 8, and when I checked the version with
java -version
in the terminal I would get backjava version "1.8.0_181
. However when I ran a .jar from the Finder, it would run in v.10, and also if I went to the Java preference pane the version was listed as version 10. This was undesirable: I was trying to remove v10 completely.Then, I deleted JavaAppletPlugin with
rm /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
and reinstalled Java SE JDK 8 from online, and lo! it works now. When I run .jar, they run in Java 8.I realize you mentioned this in your first step, but I infer that you didn't do this step? If I'm wrong about that then you've got a different problem. But this solved mine.