Catalina

Posted on September 28, 2018 by Paul

Updated 15 October 2019

This is a short note about getting started with Java 11 LTS or Java 13 on macOS Catalina. As you probably know, starting with Java 11 there was a big change in the license under which the official Oracle JDK is provided. In short, you need to buy a license from Oracle if you want to use the official JDK in a commercial setting. As far as I know, using Oracle’s JDK on your private computer for testing and learning purposes is allowed.

Here is a simpler way, an AppleScript that removes the installation limits from Java for macOS 2017-001. The script asks you to select the dmg file, opens the file, unpacks JavaForOSX.pkg, modifies the Distribution file and saves a new pkg file on Desktop, Java.pkg, that can be installed on Catalina. Click to expand.

Java For macOS / OS X / Mac OS X information, download/update links and security settings with instructions for disabling Java (plug-ins). Java for macOS / OS X / Mac OS X Java is a programming language that allows application/software to run on different operating systems (e.g. MacOS / OS X / Mac OS X, Windows, Linux, Solaris) as long as a. Changes introduced with macOS 10.15 (Catalina) cause certain Java applications to behave incorrectly. Therefore, we cannot certify any JDK version on macOS 10.15 yet. However, as of now, you can install and run non-notarized software on macOS 10.15 systems by modifying your security preferences. So far, after updating macOS (Sierra, Capitan, Yosemite, etc.) I have dealt with the 'To use the java command-line tool, you need to install a JDK' pop up by installing the Java for OS X 2017-001 aka Apple’s version of Legacy Java Command-line tool. However, after installing Catalina, this fix cannot be installed. In this article, I will demonstrate how to install Java OpenJDK 15 on macOS Catalina in 2020. Download and Install OpenJDK 15.

That being said, for most users OpenJDK is the new JDK of choice, it is provided under an open source license and you don’t need to pay for using it.

There is also a video version of this tutorial:

At this time, Java 11, the long term release or LTS, of Java is no longer supported on the OpenJDK website. You can still get the archived version, but this is not recommended because it doesn’t include any new security patches. If you still need to use Java 11, use an alternative build like the one from AdoptOpenJDK. From the AdoptOpenJDK page you will download a pkg file that you can install on your macOS machine directly by double clicking on it.

After you’ve installed the AdoptOpenJDKpkg file, check if you can use it with:

This is what I see on my machine:

If you prefer to use the Java version provided by the OpenJDK website, you will need to use Java 13. Start by getting OpenJDK, chose the macOS version. Extract the archive by double clicking on the file or, assuming it is in your Downloads folder, write this in your Terminal:

Next step, is to move the extracted folder to a place where macOS searches for Java JDK:

Now, check if you’ve successfully installed the JDK with:

This is what I see on my machine:

Java for macos catalina

Just to be sure that everything works, try to compile and run a simple program:

Save the above as HelloWorld.java and compile it with:

If you want to run the compiled version:

This is what I see on my machine:

Side note, you can also run directly the program, without the separate compilation step with:

but this is usually slower than compiling the code with javac and running the compiled code.


This topic includes the following sections:

System Requirements for Installing the JDK on macOS

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

  • Any Intel-based computer running macOS.

  • Administrator privileges.

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

Determining the Default JDK Version on macOS

When starting a Java application through the command line, the system uses the default JDK.

There can be multiple JDKs installed on the macOS system.
Java for macos catalina

You can determine which version of the JDK is the default by entering java -version in a Terminal window. If the installed version is 13 Interim 0, Update 0, and Patch 0, then you see a string that includes the text 13. For example:

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 13 --exec javac -version

Installing the JDK on macOS

  1. Download the JDK .dmg file, jdk-13.interim.update.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 start 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 13.pkg icon to start the installation application.
    The installation application displays the Introduction window.
  4. Click Continue.
  5. Click Install.
    A window appears that displays the message: Installer is trying to install new software. Enter your password to allow this.
  6. Enter the Administrator user name 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.

Uninstalling 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 that you perform an update of the OS.

  1. Go to /Library/Java/JavaVirtualMachines.
  2. Remove the directory whose name matches the following format by executing the rm command as a root user or by using the sudo tool:
    /Library/Java/JavaVirtualMachines/jdk-13.interim.update.patch.jdk

    For example, to uninstall 13 Interim 0 Update 0 Patch 0:

    $ rm -rf jdk-13.jdk

How To Install Java On Mac Catalina

Installation FAQ on macOS Platform

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

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

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

2. How do I uninstall Java?

See Uninstalling the JDK on macOS.

3. After installing Java for macOS 2012-006, can I continue to use Apple's Java 6 alongside the macOS JDK for Java 13?

If you want to continue to develop with Java 6 using command-line, then you can modify the startup script for your favorite command environment. For bash, use this:

Java For Macos Catalina

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

Some applications use /usr/bin/java to call 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.

Java 6 For Mac Catalina

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

The Java Preferences app was part of the 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.