Skip to content
Zhamri Che Ani edited this page Jun 20, 2021 · 6 revisions

Get info

% brew search java
% brew info java
% brew info java11
% brew info openjdk

% brew search openjdk
% brew search openjdk@11

Installation

% brew install openjdk@16
% brew reinstall openjdk

Installed Directory

/usr/local/Cellar/openjdk/16.0.1

Create a symbolic link (symlink) so that the macOS java wrapper can find it.

% sudo ln -sfn /usr/local/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk
% sudo ln -sfn /usr/local/opt/openjdk@11/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-11.jdk

Check the installed Java

% /usr/libexec/java_home -V
% ls -lsah /Library/Java/JavaVirtualMachines/

% /usr/libexec/java_home -v1.8
/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home

% /usr/libexec/java_home -v 16 
/usr/local/Cellar/openjdk/16.0.1/libexec/openjdk.jdk/Contents/Home

Update .zshrc

JAVA_HOME=$(/usr/libexec/java_home -v16)
PATH="${JAVA_HOME}/bin:${PATH}"
export PATH

Check current version

% source ~/.zshrc                         
% java -version

Optional

% echo 'export PATH="/usr/local/opt/openjdk/bin:$PATH"' >> ~/.zshrc
% echo 'export PATH="/usr/local/opt/openjdk@8/bin:$PATH"' >> ~/.zshrc  

To switch between different versions of Java, add the following to .zshrc.

export JAVA_8_HOME=$(/usr/libexec/java_home -v1.8)
export JAVA_11_HOME=$(/usr/libexec/java_home -v11)

alias java8='export JAVA_HOME=$JAVA_8_HOME'
alias java11='export JAVA_HOME=$JAVA_11_HOME'

# default to Java 11
java11

References

  1. https://openjdk.java.net/
  2. https://mkyong.com/java/how-to-install-java-on-mac-osx/
  3. https://www.javacodegeeks.com/2017/04/setting-multiple-java-jre-jdk-macosx-using-brew-cask-jenv.html

Clone this wiki locally