ChatGPT解决这个技术问题 Extra ChatGPT

Removing Java 8 JDK from Mac

So I installed the beta of JDK 8 a while ago to look at some of the examples. I thought for sure by now, it's easy to change between versions.

Doing some Play development with IntelliJ. For some reason, IntelliJ is compiling with 8 even though:

I have the compiler set in Preferences to use 1.6

Supposedly it's using SBT through external build, but sbt from the command line works

JAVA_HOME is pointing to JDK 6.

If I go to the Java Preferences page, it does show 8 installed, but there is no option to uninstall it and it doesn't see any of the other versions.

When I do which java, it tells me /usr/bin/java and I do /usr/bin/java -version and it returns 1.6.

Note: with a little fiddling, you can use IntelliJ and JDK7, see here.

Why do you want to use JDK 6? It has been EOL'd, see oracle.com/technetwork/java/eol-135779.html. If you don't want a beta version (JDK 8), you should move to JDK 7.
JDK7 on Mac is still a mess. Have had a lot of issues with it. But I would take 7 at this point. (Though, in case you didn't know, JetBrains is still saying they don't support it on mac..!)
Also consider installing jdk as a homebrew cask - (un)installing/upgrading then is a simple brew command.
Seems like using Homebrew& Jenv to manage the installed Java version is the way to go. see hanxue-it.blogspot.ch/2014/05/…
I found it useful to reference homebrew-cask java formulas on how they uninstall jdk. jdk9 & jdk8.

R
Rachit Mishra

I was able to unistall jdk 8 in mavericks successfully doing the following steps:

Run this command to just remove the JDK

sudo rm -rf /Library/Java/JavaVirtualMachines/jdk<version>.jdk

Run these commands if you want to remove plugins

sudo rm -rf /Library/PreferencePanes/JavaControlPanel.prefPane
sudo rm -rf /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
sudo rm -rf /Library/LaunchAgents/com.oracle.java.Java-Updater.plist
sudo rm -rf /Library/PrivilegedHelperTools/com.oracle.java.JavaUpdateHelper
sudo rm -rf /Library/LaunchDaemons/com.oracle.java.Helper-Tool.plist
sudo rm -rf /Library/Preferences/com.oracle.java.Helper-Tool.plist

Only problem is that now it won't let me install jdk7. I run the installer but the command line still says "No Java runtime present, requesting install"... it's lying though because it doesn't request the install.
Thanks bro!!! Easy straight-forward and it works, I am happy to get rid of the ugly JAVA !!!
This is really bad because you're also deleting the preference pane in System Preferences. Just run the first command and leave the others out.
Also, after this steps, MAC automatically takes alternative java as default if already installed.
Just to be clear, this is to uninstall all Java stuff. If you for some reason want to keep a different version of Java around, don't remove anything but the JDK itself (first command).
c
ci0ccarellia

You just need to use these commands

sudo rm -rf /Library/Java/*
sudo rm -rf /Library/PreferencePanes/Java*
sudo rm -rf /Library/Internet\ Plug-Ins/Java*

this one worked for me on OSX El Capitan , thanks :)
By doing it this way you are removing ALL java jdk's, not only 8. Careful.
C
Community

Managing Java versions on Mac OSX is a nightmare. I recently switched over to using JDK 1.7, deleting JDK 6 from my MacBook entirely (I also had traces of JDK 5 - this laptop has been updated a few times).

Here's what I did to move to JDK 7.

1) download the latest from Oracle (http://www.oracle.com/technetwork/java/javase/downloads/index.html) and install it.

2) Remove (using rm - if you've got backups, you can revert if you make a mistake) all the JDK6 and JRE6 files.

At this stage, you should see:

% ls /Library/Java/JavaVirtualMachines/
jdk1.7.0_nn.jdk

(and nothing else)

3) In the folder /Library/Java/Extensions/, you'll need to remove all the old jar files, the ones that correspond to other releases of Java. If you don't, you'll get the infamous message about the wrong version of tools.jar (see Builds failing after upgrading to Java7, Missing Tools.jar and bad class versions). It is not enough to rename the jar files, because Java will open every jar in that folder - I moved mine into a sub-directory. It's safe to remove them once you know everything else works.

I haven't found I need to set JAVA_HOME for simple things.

Note: I just tried running IntelliJ and it will not start unless you have Apple's JDK 6 installed (see http://youtrack.jetbrains.com/issue/IDEA-93710). Same is true for Eclipse. Netbeans works fine.


Edited original question to include a link to another SO question about getting IntelliJ to use JDK7 (on Mac).
Managing Java version on Mac is an ABSOLUTE NIGHTMARE. I was able to install Oracle Java 8 and manage different Java versions on Ubuntu in under 5 minutes. I have spent several hours now trying to get Oracle Java 8 up and running on OSX.
G
Grégory Joseph

Use /usr/libexec/java_home ; I found these alias and function to be pretty useful in my ~/.profile:

alias java_ls='/usr/libexec/java_home -V 2>&1 | cut -s -d , -f 1 | cut -c 5-'
function java_use() {
    export JAVA_HOME=$(/usr/libexec/java_home -v $1)
    java -version
}

I think this will only work for your shell environment not the environment an app (like Intellij) gets when you double click its icon.
@NBW AFAIK Java apps on OSX have their own Java Version set in their Info.plist file (or something along those lines, e.g what version range they support or something). The change to JAVA_HOME will only apply to the current terminal session, but I think /usr/libexec/java_home might impact other sessions/environments. (I can't easily verify it, cause I force java_use 1.7 in my ~/.profile)
And if you also want to see if the JDK is 32bit or 64bit, something along the lines of alias java_ls='/usr/libexec/java_home -V 2>&1 | sed "/^ \(.*\) \(.*\),/!d;/^\s*$/d;s/^ \(.*\) \(.*\), \(.*\):\(.*\)$/\2 (\3)/g"' will do.
2
2 revs

I nuked everything Java, JDK, and oracle. I was running Java 8 on OSX El Capitan

Other answers were missing tons of stuff. This answer covers a lot more bases.

Good bye, shovelware.

sudo rm -rf /Library/PreferencePanes/JavaControlPanel.prefPane
sudo rm -rf /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
sudo rm -rf /Library/LaunchAgents/com.oracle.java.Java-Updater.plist
sudo rm -rf /Library/LaunchDaemons/com.oracle.java.Helper-Tool.plist
sudo rm -rf /Library/Preferences/com.oracle.java.Helper-Tool.plist
sudo rm -rf /System/Library/Frameworks/JavaVM.framework
sudo rm -rf /var/db/receipts/com.oracle.jdk8u65.bom
sudo rm -rf /var/db/receipts/com.oracle.jdk8u65.plist
sudo rm -rf /var/db/receipts/com.oracle.jre.bom
sudo rm -rf /var/db/receipts/com.oracle.jre.plist
sudo rm -rf /var/root/Library/Preferences/com.oracle.javadeployment.plist
sudo rm -rf ~/Library/Preferences/com.oracle.java.JavaAppletPlugin.plist
sudo rm -rf ~/Library/Preferences/com.oracle.javadeployment.plist
sudo rm -rf ~/.oracle_jre_usage

no permissions for removing this file "/System/Library/Frameworks/JavaVM.framework"
@Nazariy some of these might not require sudo but I just used it anyway. Long story short: never install Java again.
@Nazariy System Integrity Protection
Please review your file list. Files in /usr/bin are part of the base system. See docs.oracle.com/javase/8/docs/technotes/guides/install/…
This is harmful. Do NOT delete /System/Library/Frameworks/JavaVM.framework it is a part of macOS and not related to Oracle's java
L
Lonre Wang

Here is the official document about uninstalling the JDK.

http://docs.oracle.com/javase/8/docs/technotes/guides/install/mac_jdk.html#A1096903


Just did this again, this did not work. Ended up with 'you have a newer version (and its dead link).'
This links said: cd '/Library/Java/JavaVirtualMachines/', then sudo rm -rf YOURVERSION.jdk, i.e. rm -rf jdk1.8.0_06.jdk
D
Danny Shi

If you have installed jdk8 on your Mac but now you want to remove it, just run below command "sudo rm -rf /Library/Java/JavaVirtualMachines/jdk1.8.0.jdk"


After deleting the jdk folder, an entry for Java still shows up in Launchpad -> System Preferences
This worked for me too.... Thanks a ton, helped fix the Fixing Unsupported major.minor version 52.0 Error in Android Studio also.
@Drew from what I can undertand, the Java in prefernces is nothing to do with the JDK (preferences is the one that loads web pages on your machine for instance, JDK is about compilation of other programs using Java), so having it in preferences isn't actually a problem
K
Karthik damodara

To uninstall java of any version on mac just do:

sudo rm -fr /Library/Java/JavaVirtualMachines/jdk-YOUR_ACCURATE_VERSION.jdk/ 
sudo rm -fr /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin 
sudo rm -fr /Library/PreferencePanes/JavaControlPanel.prefPane

S
Steve

Two ways you can do that:

Removing JDK directly from Users-> Library -> Java -> VirtualMachines -> then delete the jdk folder directly to uninstall the java. By following the command: (uninstall java 1.8 version )

make sure you are in home directory by using below command, before you write the command:

cd ~/

sudo rm -rf /Library/Java/JavaVirtualMachines/jdk1.8.jdk
sudo rm -rf /Library/PreferencePanes/JavaControlPanel.prefPane
sudo rm -rf /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
sudo rm -rf /Library/Application\ Support/Oracle/Java

C
Chris Mukherjee

If you uninstall all the files but it still fails, use this line:

sudo rm -rf /Library/Java/JavaVirtualMachines/jdk1.8.0.jdk

This does not add anything. The accepted answer already said this and more
K
Keshav Gera

in Mac Remove Java Version using this 3 Commands

java -version

sudo rm -rf /Library/Java/*

sudo rm -rf /Library/PreferencePanes/Java*

sudo rm -rf /Library/Internet\ Plug-Ins/Java*

Run

java -version

//See java was successfully uninstalled.

java -version sudo rm -rf /Library/Java/* sudo rm -rf /Library/PreferencePanes/Java* sudo rm -rf /Library/Internet\ Plug-Ins/Java*

Run java -version

Install Java 8 Link

https://i.stack.imgur.com/Sp2Dq.png

Download Package and click next next next


JDK 102 MB .PKG intsalled
N
Nasif Md. Tanjim

Official recommendation

https://www.java.com/en/download/help/mac_uninstall_java.html

sudo rm -fr /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
sudo rm -fr /Library/PreferencePanes/JavaControlPanel.prefPane
sudo rm -fr ~/Library/Application\ Support/Oracle/Java

I tried this, and restarted, but this still leaves the java binaries in /usr/bin which is also in $PATH usually
Q
Qiu

This worked perfectly for me:

sudo rm -rf /Library/Java/JavaVirtualMachines
sudo rm -rf /Library/PreferencePanes/JavaControlPanel.prefPane
sudo rm -rf /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin