環境
OS:macOS Catalina 10.15.5
brew:2.4.3
caskを使ったJavaのインストール
brew caskをそのまま使うと古いバージョンのJavaをインストールができない。
そのため以下のコマンドでを使って古いバージョンもインストールできるようにする。
$ brew tap homebrew/cask-versions
各種バージョンをインストールする
// インストール可能なjavaのバージョンの確認
$ brew search java
// java14
$ brew cask install java
// java11
$ brew cask install java11
// java8
$ brew cask install adoptopenjdk8
// javaのバージョン確認
$ /usr/libexec/java_home -V
anyenvのインストール
anyenvは*envを管理することができる。今回の場合はjenvを管理するために導入する。
// brewでanyenvをインストール
$ brew install anyenv
// パス追加 zsh版
$ echo 'eval "$(anyenv init -)"' >> ~/.zshrc
// マニフェストディレクトリ作成
$ anyenv install --init
これで.anyenvディレクトリが作成される。
// SHELLの再起動
$ exec $SHELL -l
// anyenvコマンド
// インストールした*envのバージョン確認
$ anyenv versions
// anyenvでインストールできる*envのリスト
$ anyenv install -l
※うまいことzshrcの設定が反映されない場合はsource ~/.zshrc
で反映する
便利なanyenvのプラグインを入れる
プラグインは任意ですが入れておくと便利です。
// プラグイン用のディレクトリ作成
$ mkdir -p ~/.anyenv/plugins
// anyenv-update anyenvで入れた*envを一括でアップデートしてくれるプラグイン
$ git clone https://github.com/znz/anyenv-update.git ~/.anyenv/plugins/anyenv-update
// anyenv-git anyenvで入れた*envをgitコマンドで実行できるプラグイン
$ git clone https://github.com/znz/anyenv-git.git ~/.anyenv/plugins/anyenv-git
jenvのインストール
caskでインストールしたJavaを管理する
// jenvをインストール
$ anyenv install jenv
// SHELLの再起動
$ exec $SHELL -l
// 確認
$ anyenv versions
jenv:
system
1.8
1.8.0.252
11
11.0
11.0.2
14
14.0
* 14.0.1 (set by /Users/masa/.anyenv/envs/jenv/version)
openjdk64-1.8.0.252
openjdk64-11.0.2
openjdk64-14.0.1
Javaをjenvで管理する設定
各種Javaのバージョンをjenvに登録して切り替える方法です。
// 紐付け jenvにaddする
$ jenv add `/usr/libexec/java_home -v "1.8"`
$ jenv add `/usr/libexec/java_home -v "11"`
$ jenv add `/usr/libexec/java_home -v "14"`
// jenvで管理しているjavaのバージョン確認
$ jenv versions
// global設定
$ jenv global 11.0.2
// javaのバージョン確認
$ java versions
// シェル起動
$ jenv exec zsh
// JAVA_HOMEを自動で設定するようにする
$ jenv enable-plugin export
// JAVA_HOME確認
$ echo $JAVA_HOME
// Topic 特定のディレクトリ内で別バージョンのJDKを利用する場合
$ jenv local 11.0.2
※JAVA_HOMEの設定がうまいこと反映されない場合はterminalを再起動等すれば反映されるときがあります。