LoginSignup
16
11

More than 3 years have passed since last update.

cask+anyenv+jenvを使ったJavaのバージョン管理

Last updated at Posted at 2020-07-11

環境

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を再起動等すれば反映されるときがあります。

16
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
11