🔥

MacにJavaをインストールする

2021/11/09に公開

OpenJDK

OracleJDKは9から有償化、8がサポート終了となっている
ここでは以下のインストール方法について記載する

  • Azul Zulu Builds of OpenJDK
  • Adoptium (AdoptOpenJDK後継)

M1 Macで旧バージョンを使いたい場合はARMビルドが用意されているZuluを使うと良い
※Adoptiumは17以降のみ対応

その他OpenJDKのビルドについてはこちら
https://ja.wikipedia.org/wiki/OpenJDK

Homebrew

インストールにはHomebrewを使う
https://brew.sh/index_ja

Azul Zulu Builds of OpenJDK

https://www.azul.com/downloads/?package=jdk

最新版

$ brew install zulu

旧バージョンはomebrew-cask-versionsをtapして入れる

$ brew tap homebrew/cask-versions
$ brew install zulu15

Adoptium

OpenJDK8~16
https://adoptopenjdk.net/
OpenJDK8, 11, 16~
https://adoptium.net/

OpenJDK16以前のものを入れる場合はこちら
https://github.com/AdoptOpenJDK/homebrew-openjdk

$ brew tap AdoptOpenJDK/openjdk
$ brew install adoptopenjdk15

最新版はこちら
https://formulae.brew.sh/cask/temurin

$ brew install temurin

LTS(8, 11)などの古いものを使う場合はhomebrew-cask-versionsをtapして入れる
https://github.com/Homebrew/homebrew-cask-versions

$ brew tap homebrew/cask-versions
$ brew install temurin11

インストールの確認

$ /usr/libexec/java_home -V
Matching Java Virtual Machines (3):
    17.0.1 (x86_64) "Eclipse Temurin" - "Eclipse Temurin 17" /Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home
    15.0.2 (x86_64) "AdoptOpenJDK" - "AdoptOpenJDK 15" /Library/Java/JavaVirtualMachines/adoptopenjdk-15.jdk/Contents/Home
    11.0.13 (x86_64) "Eclipse Temurin" - "Eclipse Temurin 11" /Library/Java/JavaVirtualMachines/temurin-11.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home

環境変数などで設定(後述のanyenvを使う場合は不要)

$ view ~/.zshrc
export JAVA_HOME=`/usr/libexec/java_home -v "17"`
PATH=${JAVA_HOME}/bin:${PATH}

anyenv + jenv

anyenv

後述のjenvやpyenvなどバージョン管理するものをまとめて設定できる
https://github.com/anyenv/anyenv

$ brew install anyenv
$ anyenv init
$ echo 'eval "$(anyenv init -)"' >> ~/.zshrc

ターミナル再起動後、以下が表示されたら初期化する

ANYENV_DEFINITION_ROOT(/Users/xxxxx/.config/anyenv/anyenv-install) doesn't exist. You can initialize it by:
> anyenv install --init

(初期化)

$ anyenv install --init

jenv

javaのバージョンを管理する
https://github.com/jenv/jenv

プラグインをインストール後、jenvにJDKを追加して認識させる

$ anyenv install jenv
$ exec $SHELL -l

$ jenv add `/usr/libexec/java_home -v "17"`
    :
  (各バージョンを追加)

ディレクトリで使用するバージョンを設定

$ cd hoge
$ jenv local 15.0

$ jenv versions
  system
   :
* 15.0 (set by /Users/xxxxx/hoge/.java-version)

Discussion