What is path of JDK on Mac ?

MacosJava

Macos Problem Overview


Im using Mac only at work and I need to set JAVA_HOME to proper path of JDK. I downloaded JDK, installed it and now I can't find it anywhere. I was looking at the internet for the solution, but there is no folder Libraries/Java.

Macos Solutions


Solution 1 - Macos

The location has changed from Java 6 (provided by Apple) to Java 7 and onwards (provided by Oracle). The best generic way to find this out is to run

/usr/libexec/java_home

This is the natively supported way to find out both the path to the default Java installation as well as all alternative ones present.

If you check out its help text (java_home -h), you'll see that you can use this command to reliably start a Java program on OS X (java_home --exec ...), with the ability to explicitly specify the desired Java version and architecture, or even request the user to install it if missing.

A more pedestrian approach, but one which will help you trace specifically which Java installation the command java resolves into, goes like this:

  1. run

     which java
    
  2. if that gives you something like /usr/bin/java, which is a symbolic link to the real location, run

     ls -l `which java`
    

On my system, this outputs

    /usr/bin/java -> /Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home/bin/java

and therefrom you can read the Java home directory;

  1. if usr/bin/java points to another symbolic link, recursively apply the same approach with

     ls -l <whatever the /usr/bin/java symlink points to>
    

An important variation is the setup you get if you start by installing Apple's Java and later install Oracle's. In that case Step 2 above will give you

/usr/bin/java -> /System/Library/Frameworks/JavaVM.framework/Commands/java

and that particular java binary is a stub which will resolve the actual java command to call by consulting the JAVA_HOME environment variable and, if it's not set or doesn't point to a Java home directory, will fall back to calling java_home. It is important to have this in mind when debugging your setup.

Solution 2 - Macos

Which Mac version are you using? try these paths

 /System/Library/Frameworks/JavaVM.framework/ OR
 /usr/libexec/java_home

This link might help - How To Set $JAVA_HOME Environment Variable On Mac OS X

Solution 3 - Macos

Have a look and see if the the JDK is at:

Library/Java/JavaVirtualMachines/ Or /System/Library/Java/JavaVirtualMachines/

Check this earlier SO post: https://stackoverflow.com/questions/6614380/jdk-on-osx-10-7-lion

Solution 4 - Macos

On my Mac:

/System/Library/Frameworks/JavaVM.framework/Home/

btw, did you tried which java?

Solution 5 - Macos

/System/Library/Frameworks/JavaVM.framework/

Also see Java 7 path on mountain lion

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
Questionfilipp.kowalskiView Question on Stackoverflow
Solution 1 - MacosMarko TopolnikView Answer on Stackoverflow
Solution 2 - MacosChetan GoleView Answer on Stackoverflow
Solution 3 - Macosuser1043279View Answer on Stackoverflow
Solution 4 - MacosgefeiView Answer on Stackoverflow
Solution 5 - MacoskdabirView Answer on Stackoverflow