- 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/javahome This is the natively supported way to find out both the path to the default Java installation as well as all alternative ones present.
- Note that the PATH environment label is used for finding executables, it have nothing to do with Java. That said, on non-Windows systems, the default value of java.library.path is taken from the value of the environment variable LD LIBRARYPATH, so I suppose that if you wanted a UNIX-specific solution, you could do that too.
I don’t remember where I first found this line of code, but if you put it in your Mac OS X ~/.bash_profile file, it’s an easy way to set your Mac Java version:
Mac OS X doesn’t have an obvious way to view the exact text based path to a folder (otherwise known as a directory) in the finder window. You can have it show a graphical path, but getting just the text based path to a directory (for use in the Terminal for example) requires a couple of extra steps.
I can confirm this works with the Bash shell on Mac OS X 10.10. When I run the
java -version
command after opening a new Mac Terminal window, the output is 1.8.0_25
.A slightly more difficult way to set your Mac Java version is to look under the /Library/Java/JavaVirtualMachines directory to see which versions are installed, and then manually set the version.
The shell path for a user in macOS or OSX is a set of locations in the filing system whereby the user has permissions to use certain applications, commands and programs without the need to specify the full path to that command or program in the Terminal. This will work in macOS Mojave, Sierra and all older OSX operating systems; El Capitan, Yosemite, Mavericks and Lion.
So instead of running something like this, with a path to the command:
You can just type the command, regardless of where you are in the filing system:
Your shell path is a bunch of absolute paths of the filing system separated by colons :
You can find out whats in your path by launching Terminal in Applications/Utilities and entering:
And the result should be like this…
So this is stating that you can run Unix style applications or commands located in 5 default locations of a certain path in the filing system:
- /usr/bin
- /bin
- /usr/sbin
- /sbin
- /usr/local/bin
These directories are not visible by default in the filing system but you can make them visible.
Adding a Temporary Location
You can add extra locations to your path, in the mysql example above it’s location /usr/local/mysql/bin which is not in the default path, you can add it in Terminal like so:
So here I have copied my existing path and added the new location on the end. Test it by running echo $PATH again in the Terminal.
One of the disadvantages of this is that the new location will only be honored for that particular Terminal session, when a new Terminal window is launched it will have the original default path again.
Adding in a Permanent Location
To make the new pathstick permanently you need to create a .bash_profile file in your home directory and set the path there. This file control various Terminal environment preferences including the path.
Move into home directory
Create the .bash_profile file with a command line editor called nano
Add in the above line which declares the new location /usr/local/mysql/bin as well as the original path declared as $PATH.
Save the file in nano by clicking ‘control’ +’o’ and confirming the name of the file is .bash_profile by hitting return. And the ‘control’+’x’ to exit nano
So now when the Terminal is relaunched or a new window made and you check the the path by
You will get the new path at the front followed by the default path locations, all the time
Rearranging the default $PATH
If you needed to rearrange the paths in the default $PATH variable, you can just do that and leave off $PATH.
How To Set Path For Java In Mac
So lets say you want /use/local/bin at the beginning to take precedence you can add the default path like so inside .bash_profile
Find Java Home Mac
And then you can slot in other paths as required.