はじめに
MacでJavaのインストール方法、インストールするバージョンで悩んでる方向けの記事です。
Javaってバージョンが8と11と14の3つありますよね。
「今は8でいいけど将来14にしたくなるかも〜」
って思うと、どのバージョンをインストールすれば良いか悩みますよね。
調べてみると、homebrew-cask-versionsを使うと複数バージョン管理出来ることが分かりました。
私の試した環境
OS: macOS Catalina(バージョン 10.15.4)
ターミナル: iTerm2
Homebrewのインストール
Homebrewが入ってるか調べる
$ brew -v
バージョンが表示されなかったらインストールされています。
インストールされてたらHomebrewをアップデートする
$ brew update
インストールされたなかったら
公式サイトにてインストールするコマンドが記載されています。コピーしてターミナルに貼り付けて実行すればインストールできます。
2020/05/09時点の記載コマンド
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
homebrew-cask-versions のインストール
複数バージョンを管理してくれる機能です。
公式サイトにて記載されているインストールコマンドを実行します。
2020/05/09時点の記載コマンド
$ brew tap homebrew/cask-versions
インストールというよりHomebrewの機能拡張という感じでしょうか。
Java14 のインストール
2020/05/09時点の最新版はJava14なのでバージョンしていせずに
インストールするとJava14がインストールされます。
$ brew cask install java
Java11 のインストール
$ brew cask install java11
Java8 のインストール
$ brew cask install java8
Error: Cask 'java8' is unavailable: No Cask with this name exists.
ー>Errorが発生します。ライセンスの関係でエラーになるようです。
代替として用意されている「adoptopenjdk8」をインストールします。
$ brew cask install homebrew/cask-versions/adoptopenjdk8
インストール済みのJavaを確認する
$ /usr/libexec/java_home -V
Matching Java Virtual Machines (3):
14.0.1, x86_64: "OpenJDK 14.0.1" /Library/Java/JavaVirtualMachines/openjdk-14.0.1.jdk/Contents/Home
11.0.2, x86_64: "OpenJDK 11.0.2" /Library/Java/JavaVirtualMachines/openjdk-11.0.2.jdk/Contents/Home
1.8.0_252, x86_64: "AdoptOpenJDK 8" /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/openjdk-14.0.1.jdk/Contents/Home
※私の環境では11と8が2つも入ってますね。。。
Javaのバージョンを切り替える
利用しているシェルの起動時に読み込まれる設定ファイルを更新します。
デフォルトではbashというシェルが使われており、
設定ファイルは「~/.bashrc」というファイルになっていると思います。
環境変数「JAVA_HOME」と「PATH」の2つに追加します。
使用したいバージョンに併せて下記の3つのいずれかを書き込んでください。
Java14
export JAVA_HOME=`/usr/libexec/java_home -v "14"`
PATH=${JAVA_HOME}/bin:${PATH}
Java11
export JAVA_HOME=`/usr/libexec/java_home -v "11"`
PATH=${JAVA_HOME}/bin:${PATH}
Java8
export JAVA_HOME=`/usr/libexec/java_home -v "1.8"`
PATH=${JAVA_HOME}/bin:${PATH}
書き込みが終わったら新しくターミナルアプリを立ち上げて
Javaのバージョンを確認してください。
$ java --version
おまけ(Visual Studio Codeの設定)
/usr/libexec/java_home -V
を使って各バージョンのJavaのパスをチェックし、
Visual Studio Codeの設定[⌘ + ,]にて、
「javahome」で検索すると設定ファイルがOpenされると思います。
「java.home」に現在のJavaバージョンのパスを指定します。
例:
"java.home": "/Library/Java/JavaVirtualMachines/openjdk-11.0.2.jdk/Contents/Home"
最後に
以上が私が調べた「MacでHomebrewを使ってJavaの複数バージョンを切り替える方法」となります。
おかしな点やもっと良い方法などありましたら教えていただければ嬉しいです。
インストールが終わったらプログラムを書いたり、デバッグ実行したりしたいと思います。
Javaでの開発環境(プログラムを書いたり、デバッグ実行する)を構築する記事も書いてますので、よかったら是非ご参照ください。
おわり。