I just downloaded Java 7u17 on Mac OS 10.7.5 from here and then successfully installed it. In order to do some JNI programming, I need to know where Java installed on my Mac.
I thought that inside the /Library/Java/JavaVirtualMachines/
folder, there would be a folder called 1.7.0.jdk
or something, but then I found that the folder is empty. This was confirmed by running ls /Library/Java/JavaVirtualMachines/
in the Terminal. I've tried searching for it to find out if it was installed somewhere else, but that doesn't seem to be turning anything up.
Could someone please tell me where Java is installed on my Mac?
Use /usr/libexec/java_home -v 1.8
command on a terminal shell to figure out where is your Java 1.8 home directory
If you just want to find out the home directory of your most recent version of Java, omit the version. e.g. /usr/libexec/java_home
You could use
/usr/libexec/java_home
command in your terminal to know the path where Java being installed.
echo $(...)
there? Doesn't just /usr/libexec/java_home
do the same?
Turns out that I actually had the Java 7 JRE installed, not the JDK. The correct download link is here. After installing it, jdk1.7.0jdk
appears in the JavaVirtualMachines directory.
/Library/Java/JavaVirtualMachines/jdk1.7.0_60.jdk
(knowing that for the JDK 1.6 the path is : /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/
)
If you install just the JRE, it seems to be put at:
/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
export JAVA_HOME=/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
Use unix find function to find javas installed...
sudo find / -name java
java
binary will be world readable, therefore sudo
is not necessary. Your answer is still useful :)
Try This, It's easy way to find java installed path in Mac OS X,
GoTO
1 ) /Library i.e Macintosh HD/Library
https://i.stack.imgur.com/7BNFT.png
2) Click on Library in that we find Java folder.
https://i.stack.imgur.com/jUGhY.png
3) So final path is
/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home
Hope so this is help for someone .
If you type
java -verbose
This also gives the location from which the jars are loaded and hence also the java path.
Java package structure of Mac OS is a bit different from Windows. Don't be upset for this as a developer just needs to set PATH
and JAVA_HOME
.
So in .bash_profile
set JAVA_HOME
and PATH
as below. This example is for Java 6:
export JAVA_HOME=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
export PATH=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin:$PATH
just write /Library/Java/JavaVirtualMachines/
in Go to Folder --> Go in Finder
Edited: Alias to current java version is /Library/Java/Home
For more information: a link
type which java
in terminal to show where it is installed.
For :
OS X : 10.11.6
Java : 8
I confirm the answer of @Morrie .
export JAVA_HOME=/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home;
But if you are running containers your life will be easier
I have just installed the JDK for version 21 of Java SE 7 and found that it is installed in a different directory from Apple's Java 6. It is in /Library/Java... rather then in /System/Library/Java.... Running /usr/libexec/java_home -v 1.7 versus -v 1.6 will confirm this.
I tried serkan's solution, it found java 7's location on OS X Mavericks. it is resided in "/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/"
but to make it the default JDK I had to set JAVA_HOME system variable in .bash_profile in home directory to "/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/"
so its up and running now thanks to serkan's idea
In case you have multiple Java versions installed, use:
$ /usr/libexec/java_home --verbose
or:
$ /usr/libexec/java_home -V
(That's an uppercase V!)
to list all versions and architectures.
Sample output:
$ /usr/libexec/java_home -V
Matching Java Virtual Machines (4):
12.0.1 (x86_64) "Oracle Corporation" - "Java SE 12.0.1" /Library/Java/JavaVirtualMachines/jdk-12.0.1.jdk/Contents/Home
1.8.202.08 (x86_64) "Oracle Corporation" - "Java" /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
1.8.0_282 (x86_64) "Amazon" - "Amazon Corretto 8" /Users/username/Library/Java/JavaVirtualMachines/corretto-1.8.0_282/Contents/Home
1.8.0_202 (x86_64) "Oracle Corporation" - "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/jdk-12.0.1.jdk/Contents/Home
Try to check in here
/Library/Java/JavaVirtualMachines
if you are using sdkman
you can check it with sdk home java <installed_java_version>
$ sdk home java 8.0.252.j9-adpt
/Users/admin/.sdkman/candidates/java/8.0.252.j9-adpt
you can get your installed java version with
$ sdk list java
The System Preferences then Java control panel then Java then View will show the exact location of the currently installed default JRE.
MacOS BigSur
Add following under .zshrc file. If .zshrc is not present, create and add.
export JAVA_HOME=`/usr/libexec/java_home`
Success story sharing
export JAVA_HOME=`/usr/libexec/java_home`
to .bash_profile so JAVA_HOME is always set (note the back-ticks around the libexec command)/usr/libexec/java_home -- v
to show the most recent version of java/usr/libexec/java_home