Java Installation on Mac

From NovaOrdis Knowledge Base
Jump to navigation Jump to search

Internal

Overview

By default, no Javs is installed, when first attempting to use I get this:

NOMBP2:~ ovidiu$ java -version
No Java runtime present, requesting install.

and a GUI window pops up: "to use the "java" command-line tool you need to install a JDK". More Info ... which says to go to the Oracle site.

Oracle SDK Installation

Download the latest for Mac (jdk-9.0.1_osx-x64_bin.dmg, jdk-8u25-macosx-x64.dmg or jdk-7u75-macosx-x64.dmg, depending of whether you need Java 9, Java 8 or Java 7).

Double-click on DMG, then on PKG.

By default, it will install it in /usr/bin/java, which is a link to /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java.

The default JAVA_HOME is:

/Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home/bin/java
/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home

It can be obtained running

/usr/libexec/java_home

JAVA_HOME

For a standard installation the value of JAVA_HOME is returned by the result of /usr/libexec/java_home:


export JAVA_HOME=$(/usr/libexec/java_home)

...

export PATH=${JAVA_HOME}/bin:${PATH}

/usr/libexec/java_home returns returns the path to a Java home directory from the current user's settings.

In case multiple JDKs are installed, the java_home command line variables can be used to filter which JAVA_HOME is returned:

-v filters on version

-a filters on architecture

-d filters on data model.

To see al JVMs installed:

/usr/libexec/java_home -V

Default Java 1.6 Location

/Library/Java/Home/

If you want /usr/libexec/java_home to return the Java 6 home, run it with:

/usr/libexec/java_home -v 1.6