【Mac】brewでJavaの開発環境構築(複数バージョン対応)
はじめに
Mac での Java 開発環境の構築手順をまとめます。
今回の条件としては、下記の通りです。
- Mac
- 複数のバージョンを切り替えられる
- 好きなエディタを使える
JDK のインストール
JDK をインストールする前に、まずはhomebrew-cask-versions
を使えるようにします。
1brew tap homebrew/cask-versions
GitHub - Homebrew/homebrew-cask-versions: 💀 Alternate versions of Casks (deprecated)
💀 Alternate versions of Casks (deprecated). 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 をインストールします。
1brew install openjdk@17
出力に出てきたコマンドでシンボリックリンクを貼ります。
1sudo ln -sfn /usr/local/opt/openjdk@17/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-17.jdk
同様に Java11 をインストールします。
1brew install openjdk@11
1sudo ln -sfn /usr/local/opt/openjdk@11/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-11.jdk
最後に Java8 をインストールします。
1brew install openjdk@8
1sudo ln -sfn /usr/local/opt/openjdk@8/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-8.jdk
インストールした JDK の確認
下記のコマンドでインストールした JDK を確認できます。
1/usr/libexec/java_home -V
1❯ /usr/libexec/java_home -V
2
3Matching Java Virtual Machines (3):
4 17.0.6 (x86_64) "Homebrew" - "OpenJDK 17.0.6" /usr/local/Cellar/openjdk@17/17.0.6/libexec/openjdk.jdk/Contents/Home
5 11.0.18 (x86_64) "Homebrew" - "OpenJDK 11.0.18" /usr/local/Cellar/openjdk@11/11.0.18/libexec/openjdk.jdk/Contents/Home
6 1.8.0_362 (x86_64) "Homebrew" - "OpenJDK 8" /usr/local/Cellar/openjdk@8/1.8.0+362/libexec/openjdk.jdk/Contents/Home
7/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.
1brew install jenv
jEnv が使えるように~/.bash_profile
や~/.zshrc
に下記を追記します。
1export PATH="$HOME/.jenv/bin:$PATH"
2eval "$(jenv init -)"
下記でシェルを再起動するとjenv
が使えるようになっています。
1exec $SHELL -l
JAVA_HOME
が設定されるように、下記のプラグインも追加しておきます。
1jenv enable-plugin export
2exec $SHELL -l
jEnv に JDK を追加
jEnv に JDK を追加します。
下記のコマンドで確認できるパスを使って、JDK を追加します。
1❯ /usr/libexec/java_home -V
2
3Matching Java Virtual Machines (3):
4 17.0.6 (x86_64) "Homebrew" - "OpenJDK 17.0.6" /usr/local/Cellar/openjdk@17/17.0.6/libexec/openjdk.jdk/Contents/Home
5 11.0.18 (x86_64) "Homebrew" - "OpenJDK 11.0.18" /usr/local/Cellar/openjdk@11/11.0.18/libexec/openjdk.jdk/Contents/Home
6 1.8.0_362 (x86_64) "Homebrew" - "OpenJDK 8" /usr/local/Cellar/openjdk@8/1.8.0+362/libexec/openjdk.jdk/Contents/Home
7/usr/local/Cellar/openjdk@17/17.0.6/libexec/openjdk.jdk/Contents/Home
jenv add
で JDK を追加します。
1jenv add {PATH_TO_JVM_HOME}
1jenv add /usr/local/Cellar/openjdk@17/17.0.6/libexec/openjdk.jdk/Contents/Home
追加した JDK は下記で確認できます。
1❯ jenv versions
2* system (set by /Users/masa/.jenv/version)
3 1.8
4 1.8.0.362
5 11.0
6 11.0.18
7 17.0
8 17.0.6
9 openjdk64-1.8.0.362
10 openjdk64-11.0.18
11 openjdk64-17.0.6
jEnv でバージョンの切り替え
ローカルでバージョンを指定するときは下記で設定します。
1jenv local 11.0
2exec $SHELL -l
グローバルで設定するときは下記です。
1jenv 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