Take the 2-minute tour ×
Ask Different is a question and answer site for power users of Apple hardware and software. It's 100% free, no registration required.

I would like to completely remove Apple's Java 6 and make Oracle's Java 7 default for every program. For example, with Eclipse I had to fiddle with eclipse.ini to specify JAVA_HOME for Java 7, and the same for TunnelBear. No luck for Aptana, though (it still wants Apple's Java) Is there a way to make Oracle's Java default in terms of PATH?

share|improve this question
    
I think Java 7 is the default for PATH as /usr/bin/java should be Java 7 . However the issue is with .apps having something else in their .plist files –  Mark Feb 6 '13 at 19:27

3 Answers 3

Download and install the latest Java Development Kit (JDK) from Oracle, which will place it in /Library/Java/JavaVirtualMachines/jdk1.7.0_11.jdk (or whatever the latest version is). Now, start Terminal.app, and enter the following commands:

  1. cd /System/Library/Java/JavaVirtualMachines (change to the proper directory)

  2. sudo mv 1.6.0.jdk backup.1.6.0.jdk (keep the old JDK around, just in case - you will need to have an administrator password to do this)

  3. sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.7.0_11.jdk 1.6.0.jdk (link your new JDK installation to where applications expect the old one to be)

Keep in mind that with any further jdk updates, you'll need to update the symlink to the new directory:

sudo rm /System/Library/Java/JavaVirtualMachines/1.6.0.jdk && sudo ln -s /Library/Java/JavaVirtualMachines/new_jdk_version /System/Library/Java/JavaVirtualMachines/1.6.0.jdk

share|improve this answer

Well, if you install the latest Java update from Apple, that should actually uninstall Java 6. You can go to Oracle's website directly to download Java 7. That's what I did. With only Java 7 on your system, that should make it default.

share|improve this answer
    
On Lion the Java update did not uninstall Apple's java - /usr/bin/java is now Java 7 but Java 6 is still useable as /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java –  Mark Feb 6 '13 at 19:25
    
I'm using Java 7 only and getting Apple updates on Java is somewhat tedious. I want it out - anyone managed to have it that way, yet? (i.e. so much out that Apple wouldn't push Java-specific updates; I'm fine taking all through Oracle directly). –  akauppi Mar 5 '13 at 11:40

These instructions worked well for me on OS X Mavericks.

Remove Apple's JVMs

$ sudo rm -rf /System/Library/Java/JavaVirtualMachines/

Remove installer records

$ sudo rm /private/var/db/receipts/com.apple.pkg.JavaForMacOSX*

Remove installer receipts (delete the <dict>...</dict> entries that reference com.apple and java)

$ sudo emacs /Library/Receipts/InstallHistory.plist

Set The Symlinks for Java 7

$ sudo rm /usr/bin/java
$ sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.7.0_17.jdk/Contents/Home/bin/java /usr/bin/java

Optional: JAVA_HOME

sudo rm /Library/Java/Home
sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.7.0_17.jdk/Contents/Home /Library/Java/Home
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.