はじめに
Mac での Java 開発環境の構築手順をまとめます。
今回の条件としては、下記の通りです。
- Mac
- 複数のバージョンを切り替えられる
- 好きなエディタを使える
JDK のインストール
JDK をインストールする前に、まずはhomebrew-cask-versions
を使えるようにします。
brew tap homebrew/cask-versions
GitHub - Homebrew/homebrew-cask-versions: 🔢 Alternate versions of Casks
🔢 Alternate versions of Casks. Contribute to Homebrew/homebrew-cask-versions development by creating an account on GitHub.
brew
で OpenJDK をインストールしていきます。今回インストールするバージョンは 17、11、 8 になります。

openjdk
Homebrew’s package index
ちなみに
brew install java
とbrew install openjdk
は同じです。
まずは Java17 をインストールします。
brew install openjdk@17
出力に出てきたコマンドでシンボリックリンクを貼ります。
sudo ln -sfn /usr/local/opt/openjdk@17/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-17.jdk
同様に Java11 をインストールします。
brew install openjdk@11
sudo ln -sfn /usr/local/opt/openjdk@11/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-11.jdk
最後に Java8 をインストールします。
brew install openjdk@8
sudo ln -sfn /usr/local/opt/openjdk@8/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-8.jdk
インストールした JDK の確認
下記のコマンドでインストールした JDK を確認できます。
/usr/libexec/java_home -V
❯ /usr/libexec/java_home -V
Matching Java Virtual Machines (3):
17.0.6 (x86_64) "Homebrew" - "OpenJDK 17.0.6" /usr/local/Cellar/openjdk@17/17.0.6/libexec/openjdk.jdk/Contents/Home
11.0.18 (x86_64) "Homebrew" - "OpenJDK 11.0.18" /usr/local/Cellar/openjdk@11/11.0.18/libexec/openjdk.jdk/Contents/Home
1.8.0_362 (x86_64) "Homebrew" - "OpenJDK 8" /usr/local/Cellar/openjdk@8/1.8.0+362/libexec/openjdk.jdk/Contents/Home
/usr/local/Cellar/openjdk@17/17.0.6/libexec/openjdk.jdk/Contents/Home
jEnv のインストール
Java のバージョンを切り替えるための jEnv をインストールします。
GitHub - jenv/jenv: Manage your Java environment
Manage your Java environment . Contribute to jenv/jenv development by creating an account on GitHub.
brew install jenv
jEnv が使えるように~/.bash_profile
や~/.zshrc
に下記を追記します。
export PATH="$HOME/.jenv/bin:$PATH"
eval "$(jenv init -)"
下記でシェルを再起動するとjenv
が使えるようになっています。
exec $SHELL -l
JAVA_HOME
が設定されるように、下記のプラグインも追加しておきます。
jenv enable-plugin export
exec $SHELL -l
jEnv に JDK を追加
jEnv に JDK を追加します。
下記のコマンドで確認できるパスを使って、JDK を追加します。
❯ /usr/libexec/java_home -V
Matching Java Virtual Machines (3):
17.0.6 (x86_64) "Homebrew" - "OpenJDK 17.0.6" /usr/local/Cellar/openjdk@17/17.0.6/libexec/openjdk.jdk/Contents/Home
11.0.18 (x86_64) "Homebrew" - "OpenJDK 11.0.18" /usr/local/Cellar/openjdk@11/11.0.18/libexec/openjdk.jdk/Contents/Home
1.8.0_362 (x86_64) "Homebrew" - "OpenJDK 8" /usr/local/Cellar/openjdk@8/1.8.0+362/libexec/openjdk.jdk/Contents/Home
/usr/local/Cellar/openjdk@17/17.0.6/libexec/openjdk.jdk/Contents/Home
jenv add
で JDK を追加します。
jenv add {PATH_TO_JVM_HOME}
jenv add /usr/local/Cellar/openjdk@17/17.0.6/libexec/openjdk.jdk/Contents/Home
追加した JDK は下記で確認できます。
❯ jenv versions
* system (set by /Users/masa/.jenv/version)
1.8
1.8.0.362
11.0
11.0.18
17.0
17.0.6
openjdk64-1.8.0.362
openjdk64-11.0.18
openjdk64-17.0.6
jEnv でバージョンの切り替え
ローカルでバージョンを指定するときは下記で設定します。
jenv local 11.0
exec $SHELL -l
グローバルで設定するときは下記です。
jenv global 11.0
参考
- macos - Mac OS X and multiple Java versions - Stack Overflow
- Homebrew/homebrew-cask-versions: 🔢 Alternate versions of Casks
- openjdk — Homebrew Formulae
- Installation of the JDK on macOS
- macos - How do I check if the Java JDK is installed on Mac? - Stack Overflow
- jenv/jenv: Manage your Java environment
- jEnv - Manage your Java environment