🔥

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

2 min read

OpenJDK

OracleJDKは9から有償化、8がサポート終了となっている
コミュニティビルドのAdoptOpenJDKとその後継のAdoptiumを使う

OpenJDK8~16

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

Homebrew

https://brew.sh/index_ja

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

ログインするとコメントできます