jEnvでJavaの複数バージョンを管理する

環境設定

  • config.fishに以下を追加
set -x PATH $HOME/.jenv/bin:$PATH
eval (jenv init - | source)
  • 設定を反映
$ source ~/.config/fish/config.fish

管理方法

  • (主にScalaでしか使わないが)Java1.8を追加
$ jenv add (/usr/libexec/java_home -v 1.8)
openjdk64-1.8.0.275 added
1.8.0.275 added
1.8 added
  • 追加されたバージョンを表示(選択されているものにアスタリスクが付いている)
$ jenv versions

* system (set by /Users/hchuno/.jenv/version)
  1.8
  1.8.0.275
  openjdk64-1.8.0.275
  • 特定のディレクトリ以下のみ変更(ココではJava1.8に変更)する方法
$ jenv local 1.8

$ jenv versions
  system
* 1.8 (set by /Users/hchuno/dir//.java-version)
  1.8.0.275
  openjdk64-1.8.0.275

$ java -version
openjdk version "1.8.0_275"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_275-b01)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.275-b01, mixed mode)
  • 全体を変えたい時(ココではデフォルトのJava11に変える)
$ jenv global system

$ jenv versions
* system (set by /Users/hchuno/.jenv/version)
  1.8
  1.8.0.275
  openjdk64-1.8.0.275

$ java -version
openjdk version "11.0.9" 2020-10-20
OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.9+11)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.9+11, mixed mode)