Installing Java on macOS 12 Monterey

For some time now, Java is not (pre-)installed anymore, let’s fix that. As I’m writing this, Java 17.0.3 is the latest LTS (Long Term Support) version and Adoptium is one of the best places to find Prebuilt OpenJDK Binaries.

Adoptium was known as AdoptOpenJDK, before the project was moved  to the Eclipse Foundation. All available versions for supported platforms can be found here.

If you are already using Homebrew then the easiest way to get the JDK on to your Mac might be this:

$brew install --cask temurin

# Install a specific version
$brew tap homebrew/cask-versions
$brew install --cask temurin8
$brew install --cask temurin11

# Uninstall a specific version
$brew uninstall --cask temurin

Otherwise, the easiest way is to select macOS x64 and OpenJDK 17 (LTS), download and install the pkg file.

 

Like you can see, the package installer will put the JDK into this location:
/Library/Java/JavaVirtualMachines/temurin-17.jdk/

Almost done. After opening a terminal, the successful installation of the JDK can be confirmed like so:

java --version

… hopefully showing something like this:

openjdk 17.0.3 2022-04-19
OpenJDK Runtime Environment Temurin-17.0.3+7 (build 17.0.3+7)
OpenJDK 64-Bit Server VM Temurin-17.0.3+7 (build 17.0.3+7, mixed mode, sharing)

JAVA_HOME is an important environment variable and it’s important to get it right. Here is a trick that allows me to keep the environment variable current, even after a Java Update was installed. In ~/.zshenv, I set the variable like so:

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

Open a new terminal and verify:

echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home

Source Code

The source code of the Java Platform, Standard Edition 11 Reference Implementations binaries is available under the GPLv2 in a single zip file.

API Specification

The API Specification of the Java Platform, Standard Edition and Java Development Kit
can be found here:

 

One Reply to “Installing Java on macOS 12 Monterey”

  1. Clement Kent says: Reply

    Thank you!

Leave a Reply