jenvによる複数バージョン共存、切り替え可能なJava開発環境の構築 (MacOS編)

:2019年12月30日

:Java

:anyenvJavajdkjenv

jenvによる複数バージョン共存、切り替え可能なJava開発環境の構築 (MacOS編)

本レッスンのゴール

複数バージョンの Java 開発環境(JDK : Java Development KIt)をインストールし、 デフォルトで使用するバージョンを切り替えて動作を確認する

想定環境

以下の環境を想定しています。

  • OS : MacOSX Mojave (バージョン 10.14.6)

前提条件

  • anyenv がインストールされている事。
  • brewがインストールされている事。
ATTENTION

各インストール方法については、以下のリンク先を参照して下さい。

全体の流れ

以下の流れで進めます。

  1. jenv のインストール
  2. JDK のインストール
  3. jenv の設定
  4. 動作確認

インストール作業

1. jenv のインストール

複数バージョンの共存、切替のために、jenv を導入します。端末で以下のコマンドを実行します。

$ anyenv install jenv

以下のコマンドでバージョンコードが出力されれば、jenv のインストールは成功です。

$ jenv --version
jenv 0.5.2-10-g5a20be6

2. JDK のインストール

pyenv 等と異なり、jenv は言語環境のダウンロード、インストール機能を持たない為、 JDK のインストールについては brew で行います。 ここでは、Ver.8 系最新と、Ver.12 系最新をそれぞれインストールします。 なお、JDK は Oracle をはじめとして様々な提供元がありますが、 無償かつ比較的ポピュラーと思われる OpenJDK をインストールします。

以下のコマンドでまず、Ver.8 系最新をインストールします。

$ brew tap AdoptOpenJDK/openjdk
$ brew cask install adoptopenjdk8
....
Password: ログインパスワードを入力
adoptopenjdk8 was successfully installed!

続けて、Ver.12 系最新を以下のコマンドでインストールします。

$ brew cask install adoptopenjdk12
....
Password: ログインパスワードを入力
adoptopenjdk12 was successfully installed!

ここまでで、JDK のインストールは完了しました。

3. jenv の設定

まず、先程インストールした JDK を jenv に認識させる設定をします。

以下のコマンドで、各バージョンのディレクトリ名を確認します。

$ ls /Library/Java/JavaVirtualMachines
adoptopenjdk-12.jdk adoptopenjdk-8.jdk

それぞれのバージョンのディレクトリ名が確認できたところで、 以下のコマンドで、インストールした JDK を jenv に認識させます。

$ jenv add /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
1.8 added
1.8.0.222 added
openjdk64-1.8.0.222 added
$ jend add /Library/Java/JavaVirtualMachines/adoptopenjdk-12.jdk/Contents/Home
12.0 added
12.0.1 added
openjdk64-12.0.1 added
ATTENTION
環境により若干の出力の違いがあります。

以下のコマンドで、正常に認識されている事を確認します。

$ jenv versions
system (set by /Users/hogehoge/.anyenv/envs/jenv/version)
1.8
1.8.0.222
12.0
12.0.1
openjdk64-1.8.0.222
openjdk64-12.0.1

以下のコマンドでデフォルトのバージョンを設定します。

$ jenv global 1.8.0.222
$ jenv versions
system
1.8
1.8.0.222 (set by /Users/hogehoge/.anyenv/envs/jenv/version)
12.0
12.0.1
openjdk64-1.8.0.222
openjdk64-12.0.1

4. 動作確認

最後に、以下のコマンドで、jenv で設定した java が呼ばれる事を確認します。

$ which java
/Users/hogehoge/.anyenv/envs/jenv/shims/java
$ java -version
openjdk version "1.8.0_222"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_222-b10)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.222-b10, mixed mode)

以上で、jenv による Java 環境構築の完了です。