複数のインストール済み Java を速攻で切り替える jenv
つってもそんなに難しい話はない。
Install
$ brew install jenv
Homebrew 知らない人はこっち。
brew.sh
ちなみに Windows だと jenv.io なるサイトで Windows で動く Jenv 頑張ってたらしいのだけど、消えていた(2020/09/20 現在)。
インストールされると、実質 ~/.jenv
以下にインストールされます。
インストール後は .bash_profile
か zsh
の場合は ~/zprofile
に次の文言を追加
eval "$(jenv init -)"
pyenv とかと違って、こいつ自体に Java インストール機構はない。文字通り環境切り替えよう。
で、登録に関しては /usr/libexec/java_home -V
でインストール済み JavaHome ディレクトリを検索。
$ /usr/libexec/java_home -V Matching Java Virtual Machines (2): 14.0.1, x86_64: "OpenJDK 14.0.1" /Library/Java/JavaVirtualMachines/openjdk.jdk/Contents/Home 11.0.5-zulu-11.35+15, x86_64: "Zulu 11" /Library/Java/JavaVirtualMachines/zulu-11.jdk/Contents/Home
このパスを利用して
$ jenv add /Library/Java/JavaVirtualMachines/openjdk.jdk/Contents/Home openjdk64-14.0.1 added 14.0.1 added 14.0 added 14 added
こうすると追加される。
で、この切替を行うにあたっては
$ jenv versions system 11.0 11.0.2 14 14.0 14.0.1 openjdk64-14.0.1 * zulu64-11.0.2 (set by /Users/armeria/.jenv/version) $ jenv --help jenv 0.5.4 Usage: jenv <command> [<args>] Some useful jenv commands are: commands List all available jenv commands local Set or show the local application-specific Java version global Set or show the global Java version shell Set or show the shell-specific Java version rehash Rehash jenv shims (run this after installing executables) version Show the current Java version and its origin versions List all Java versions available to jenv which Display the full path to an executable whence List all Java versions that contain the given executable add Add JDK into jenv. A alias name will be generated by parsing "java -version" See `jenv help <command>' for information on a specific command. For full documentation, see: https://github.com/jenv/jenv/blob/master/README.md $ jenv global openjdk64-14.0.1 $ java --version openjdk 14.0.1 2020-04-14 OpenJDK Runtime Environment (build 14.0.1+14) OpenJDK 64-Bit Server VM (build 14.0.1+14, mixed mode, sharing)
とまぁこんな感じ。
11 依存のプロダクトと、14 対応の OSS を使うときに切り替えとしては便利です。