気軽に楽しくプログラムと遊ぶ

自分が興味があってためになるかもって思う情報を提供しています。

Javaバージョンを切り替えるjEnvの基本コマンド

jenvのインストール

brewでインストール

brew install jenv

設定

Bashを使っている場合

echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(jenv init -)"' >> ~/.bash_profile

Zshを使っている場合

echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(jenv init -)"' >> ~/.zshrc

ディレクトリを作成

mkdir ~/.jenv
mkdir ~/.jenv/versions

#.bash_profile を再読み込み
source ~/.bash_profile # zshなら source ~/.zshrc

jenvのインストールに問題ないか確認

$ jenv doctor

インストール済のバージョンを確認

/usr/libexec/java_home -V
Matching Java Virtual Machines (3):
    16.0.2 (x86_64) "Oracle Corporation" - "OpenJDK 16.0.2" /Users/user/Library/Java/JavaVirtualMachines/openjdk-16.0.2/Contents/Home
    16.0.1 (x86_64) "AdoptOpenJDK" - "AdoptOpenJDK 16" /Library/Java/JavaVirtualMachines/adoptopenjdk-16.jdk/Contents/Home
    11.0.11 (x86_64) "AdoptOpenJDK" - "AdoptOpenJDK 11" /Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home

jenv環境へインストールJavaを追加

$ jenv add /Users/user/Library/Java/JavaVirtualMachines/openjdk-16.0.2/Contents/Home
openjdk64-16.0.2 added
16.0.2 added
16.0 added
16 added

$ jenv add /Library/Java/JavaVirtualMachines/adoptopenjdk-16.jdk/Contents/Home
openjdk64-16.0.1 added
16.0.1 added
 16.0 already present, skip installation
 16 already present, skip installation

$ jenv add /Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home
openjdk64-11.0.11 added
11.0.11 added
11.0 added
11 added

jenvに追加されているJDKの一覧

先頭に*が表示されているJDKが有効化されている。

$ jenv versions
* system (set by /Users/jpd20537/.jenv/version)
  11
  11.0
  11.0.11
  16
  16.0
  16.0.1
  16.0.2
  openjdk64-11.0.11
  openjdk64-16.0.1
  openjdk64-16.0.2

Javaの切り替え

# グローバル
$ jenv global 1.8.0.222

# ローカル(特定のディレクトリのみに適用)
$ jenv local 11.0

$jenv version
11.0.11 (set by /Users/user/workspace/project/.java-version)

設定されているJavaの確認

$ echo $JAVA_HOME
/Users/user/.jenv/versions/11.0.11
~/workspace/project

$ java -version 
openjdk version "11.0.11" 2021-04-20
OpenJDK Runtime Environment AdoptOpenJDK-11.0.11+9 (build 11.0.11+9)
OpenJDK 64-Bit Server VM AdoptOpenJDK-11.0.11+9 (build 11.0.11+9, mixed mode)

環境変数JAVA_HOMEの自動設定

$ jenv enable-plugin export
# 自動設定を解除するにはdisable-plugin export