Beta Draft: 2017-03-28

8 Installation of the JDK and the JRE on macOS

System Requirements for Installing JDK and JRE on macOS

The following are the system requirements for installing the JDK and the JRE on macOS:

  • Any Intel-based computer running macOS.

  • Administrator privileges.

    You cannot install Java for a single user. Installing the JDK and the JRE on macOS is performed on a system wide basis for all users. Administrator privileges are required to install the JDK and the JRE on macOS.

  • When you install the JDK, it also installs the JRE. However, the system will not replace the current JRE with a lower version.

    To determine the current JRE version installed on your system, see Determining the JRE Version Installed on macOS. To install a lower version of the JRE, you must first uninstall the current version. See Uninstalling the JRE on macOS.

  • When you install the JRE, you can only install one JRE on your system at a time. The system will not install a JRE that has a lower version than the current version.

    To determine the current JRE version installed on your system, see Determining the JRE Version Installed on macOS. To install a lower version of the JRE, you must first uninstall the current version. See Uninstalling the JRE on macOS.

    Note:

    Installing a JRE from Oracle will not update java -version symlinks or add java to your path. To do this, you must install the JDK.

Determining the JRE Version Installed on macOS

Only one JRE can be installed on the system at any time. Installing a JRE removes the previously installed JRE.

The JRE version installed on the system can be determined in one of two ways:

  • From System Preferences, click the Java icon from the Other category. This launches the Java Control Panel. You then click About to display the version information.

  • Type the following in a Terminal window (note the escaped space character, ignore line break):

    % /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java -version

Note:

If you have not yet installed Apple's Java OS X 2012-006 update, then you are still using a version of Apple Java 6 that includes the plug-in and the Java Preferences app. See Notes for Users of macOS that Include Apple Java 6 Plug-in.

The system will not install a JRE that has a lower version than the current version. If you want to install a lower version, you must first uninstall the existing version.

Determining the Default JDK Version on macOS

When launching a Java application through the command line, the system uses the default JDK. It is possible for the version of the JRE to be different from the default version of the JDK.

There can be multiple JDKs installed on macOS system.

You can determine which version of the JDK is the default by typing java -version in a Terminal window. If the installed version is 9 Minor 1 Security 1 Patch 1, you see a string that includes the text 9.1.1.1. For example:

% java -version
java version "9.1.1.1-ea"
Java(TM) SE Runtime Environment (build 9.1.1.1-ea+13)
Java HotSpot(TM) 64-Bit Server VM (build 23.2-b04, mixed mode )

Note:

If you have not yet installed Apple's Java OS X 2012-006 update, then you are still using a version of Apple Java 6 that includes the plug-in and the Java Preferences app. See Notes for Users of macOS that Include Apple Java 6 Plug-in.

To run a different version of Java, either specify the full path, or use the java_home tool: For example:

% /usr/libexec/java_home -v 9.1.1.1 --exec javac -version

Installing the JDK on macOS

When you install the JDK, the associated JRE is installed at the same time. The JavaFX SDK and Runtime are also installed and integrated into the standard JDK directory structure.

To install the JDK on macOS:
  1. Download the JDK .dmg file, jdk-9.minor.secruity.patch-macosx-x64.dmg.

    Before the file can be downloaded, you must accept the license agreement.

  2. From either the browser Downloads window or from the file browser, double click the .dmg file to launch it.
    A Finder window appears that contains an icon of an open box and the name of the .pkg file.
  3. Double-click the JDK 9.pkg icon to launch the Install application.
    The Install application displays the Introduction window.
  4. Click Continue.
    The Installation Type window appears.
  5. Click Install.
    A window appears that says, Installer is trying to install new software. Enter your password to allow this.
  6. Enter the Administrator login and password and click Install Software.
    The software is installed and a confirmation window is displayed.
After the software is installed, you can delete the .dmg file if you want to save disk space. See Jdk for mac readme.

Installing the JRE on macOS

To install the JRE on an macOS platform:
  1. Download the JRE .dmg file, jre-9.minor.security.patch_osx-x64_bin.dmg.

    Before the file can be downloaded, you must accept the license agreement.

  2. From either the browser Downloads window or from the file browser, double click the .dmg file to launch it.
    A Finder window appears that contains an icon of an open box and the name of the .app file.
  3. Double-click the Java 9.app icon to launch the Install application.
    The Install application displays the Welcome window.
  4. Click Next.
    The software is installed and a confirmation window is displayed.
  5. Click Close.

Uninstalling the JDK on macOS

To uninstall the JDK on macOS:
You must have Administrator privileges.

Note:

Do not attempt to uninstall Java by removing the Java tools from /usr/bin. This directory is part of the system software and any changes will be reset by Apple the next time you perform an update of the OS.

  1. Navigate to /Library/Java/JavaVirtualMachines.
  2. Remove the directory whose name matches the following format by executing the remove command as root or by using the sudo tool to:
    /Library/Java/JavaVirtualMachines/jdk-major.minor.security.patch.jdk

    For example, to uninstall 9 Minor 1 Security 2 Patch 1:

    % rm -rf jdk-9.1.2.1.jdk

Uninstalling the JRE on macOS

To uninstall the JRE on macOS:
You must have Administrator privileges to remove one directory and one file (a symlink).

Note:

Do not attempt to uninstall Java by removing the Java tools from /usr/bin. This directory is part of the system software and any changes will be reset by Apple the next time you perform an update of the OS.

  1. Navigate to /Library/Internet Plug-Ins.
  2. Remove the JavaAppletPlugin.plugin directory by executing the remove command as root or by using the sudo tool.
  3. Navigate to /Library/PreferencePanes.
  4. Remove JavaControlPanel.prefpane by executing the remove command as root or by using the sudo tool.

Install FAQ on macOS Platform

This topic provides answers for the following frequently asked questions about installing JDK and JRE on macOS computers.

1. Should I install the JRE or the JDK?

If you only plan to run Java applications, then install the Java Runtime Environment (JRE). The JRE is also referred to as Oracle Java. Once you have installed the JRE, you can launch Java applets and applications by double-clicking JAR files, JNLP files, and by using the browser. Note that 32-bit browsers, such as Firefox in 32-bit mode, and Chrome, are not supported by the JRE.

If you also plan to create Java applications, install the Java Development Kit (JDK).

2. How do I find out which version of Java is the system default?

When you launch a Java application by clicking a JNLP file, or through the browser, it uses the installed JRE. Only one JRE can be installed. See Determining the JRE Version Installed on macOS.

When you run a Java application from the command line, it uses the default JDK. If you do not develop Java applications, you do not need to worry about this. See Determining the Default JDK Version on macOS.

Note:

If you have not yet installed Apple's Java macOS 2012-006 update, then you are still using a version of Apple Java 6 that includes the plug-in and the Java Preferences app. See Notes for Users of macOS that Include Apple Java 6 Plug-in.

3. How do I clear the Java cache?

Follow these steps:

  1. From System Preferences, launch the Java Control Panel by clicking the Java icon in the Other section.

  2. From the Java Control Panel, click Settings in the Temporary Internet Files section of the General tab.

  3. In the Temporary Files Settings window, click Delete File.

  4. From the Delete Files and Applications dialog, select Cached Applications and Applets and click OK to clear those files from the cache.

To clear the applet and Web Start cache from a Terminal window, use the following command (note escaped space character):

% rm -rf ~/Library/Application\ Support/Oracle/Java/Deployment/cache

4. How are Java updates managed on macOS?

Every time you launch a Java applet or a Java Web Start (JWS) application, the system launches your program and determines in the background (so that performance of your Java application is not impacted) if it has checked for a Java update in the last 7 days.

If an update is available, then the Software Update window appears.

Select Next, and enter your user Name and Password.

The latest update gets downloaded and installed. Restart the browser and other applications to work on the new Java update.

5. How do I uninstall Java?

Depending on your installation, see the related link:

6. I have installed Java for macOS 2012-006 and Apple Java 6 can no longer be used for applets or Web Start. How do I get it back?

The Java for macOS 2012-006 update from Apple uninstalls the Apple-provided Java applet plug-in from all web browsers. You can download the latest version of Java from Java SE Downloads, which has improved security, reliability and compatibility.

If you prefer to continue using Apple's Java 6 plug-in, follow the steps provided in Java for OS X 2014-001 topic at the Apple Developer site.

7. After installing Java for macOS 2012-006, can I continue to use Apple's Java 6 alongside the macOS JDK or JRE for Java 9?

If you want to continue to develop with Java 6 in a Terminal window you can modify the startup script for your favorite command environment. For bash, use this:

$ export JAVA_HOME=`/usr/libexec/java_home -v 1.6`

Some applications use /usr/bin/java to invoke Java. After installing Java for macOS 2012-006, /usr/bin/java will find the newest JDK installed, and will use that for all of the Java related command line tools in /usr/bin. You may need to modify those applications to find Java 6, or contact the developer for a newer version of the application.

8. Can I restore Apple Java 6 after uninstalling Oracle Java 7?

Go back to Apple Java 6 using the following instructions:

  1. Uninstall Oracle Java 7 by deleting the plug-in file. From a Terminal window enter:

    % sudo rm -rf /Library/Internet Plug-Ins/JavaAppletPlugin.plugin

  2. Create a symlink using the following command, entered on a single line:

    % sudo ln -s /System/Library/Java/Support/CoreDeploy.bundle/Contents/JavaAppletPlugin

9. I am running Mountain Lion (macOS 10.8) or later and Gatekeeper is blocking an app from launching. What is going on?

Gatekeeper, introduced in Mountain Lion (macOS 10.8), is designed to prevent potentially malicious application packages (apps) from launching. When you attempt to launch an app that doesn't meet certain criteria, Gatekeeper will block the launch. To override this, you can modify the Gatekeeper's default settings to App Store and identified developers from Settings, General, and Allow apps downloads from section.

To create a Java application that will launch without interruption under the default Gatekeeper settings, the app must be bundled with a JRE, use Oracle's launcher stub, and be signed with an Apple Developer ID. For details on creating an app that satisfies these requirements, see Self-Contained Application Packaging for OS X in the Java Platform, Standard Edition Deployment Guide.

10. What happened to the Java Preferences app in Application Utilities?

The Java Preferences app was part of Apple Java installation and is not used by Oracle Java. Therefore, macOS releases from Apple that do not include Apple Java will not include Java Preferences.

One of the functions of Java Preferences was to set the current version of the JRE. Under Oracle Java, only a single version of the JRE can be installed at a time. See Installing the JRE on macOS.

To access the Java Control Panel, click the Java icon in the System Preferences panel. If the Java icon is not present (under the Other category) in System Preferences, you do not have an Oracle JRE installed.

11. I have Oracle's version of the JRE installed, but it is not listed in Java Preferences

This is correct. The JRE will not show up in the Java Preferences list unless you install the full JDK.

12. I have Oracle's version of the JRE installed, but when I try to run the java command from the command line, it does not work

Installing a JRE from Oracle does not update java -version symlinks or add the java command to your path. For this functionality, you must install the full JDK.

Notes for Users of macOS that Include Apple Java 6 Plug-in

If you have not yet installed Apple's Java macOS 2012-006 update, then you are still using a version of Apple Java 6 that includes the plug-in and the Java Preferences app.

There is an important difference about the installation of Oracle Java (both JRE and JDK) that you should be aware of. The Java Preferences application, launched by choosing Applications and then Utilities, is part of Apple's implementation of Java. Once Apple no longer distributes Java as part of their release, the Java Preferences application is retired.

Under Apple's implementation of Java, it was possible to have multiple JREs installed., The Java Preferences application was used to determine the first compatible version that would be used. You can change the default JRE by launching Java Preferences and then dragging Java SE 9 to the top of the list.

Note:

  • The Java Preferences window contains a list of installed JREs. Java applications and command line tools use the listed order to determine the first compatible version to use. The Vendor column indicates whether the Java release is supplied by Apple or Oracle. The Version column specifies the version of Java that is installed.

  • Re-ordering the list, by dragging Java SE 9 to the top, makes it the default version of Java.

  • If you install only Oracle Java JRE 9, it will not appear in this list. You must install the full JDK in order for JRE 9 to be listed.