Closed4
Javaのバージョン管理ツール
Javaのバージョン管理ツールって何がいいんだろう?という話。
Googleのトレンドやgithubスター数、実際に使ってみて良かった点などまとめていければ良いと思ってる
とりあえず候補
- homebrew
- jabba https://github.com/shyiko/jabba
- SDKMAN https://github.com/sdkman/sdkman-cli
- jvms https://github.com/ystyle/jvms windowsだけかな?
- jenv https://github.com/jenv/jenv
SDKMAN! 使ってみる
INSTALL
$ curl -s "https://get.sdkman.io" | bash
$ source "/Users/takecchi/.sdkman/bin/sdkman-init.sh"
インストールできるjdkの確認
$ sdk list java
見やすくまとめられてる。
================================================================================
Available Java Versions for macOS ARM 64bit
================================================================================
Vendor | Use | Version | Dist | Status | Identifier
--------------------------------------------------------------------------------
Corretto | | 19.0.2 | amzn | | 19.0.2-amzn
| | 19.0.1 | amzn | | 19.0.1-amzn
| | 17.0.6 | amzn | | 17.0.6-amzn
| | 17.0.5 | amzn | | 17.0.5-amzn
| | 11.0.18 | amzn | | 11.0.18-amzn
| | 11.0.17 | amzn | | 11.0.17-amzn
| | 8.0.362 | amzn | | 8.0.362-amzn
| | 8.0.352 | amzn | | 8.0.352-amzn
Gluon | | 22.1.0.1.r17 | gln | | 22.1.0.1.r17-gln
...
今回は11.0.18-amzn
をインストール
$ sdk install java 11.0.18-amzn
初回だったので自動的にデフォルトに設定されたみたい。
Setting java 11.0.18-amzn as default.
$ java -version
openjdk version "11.0.18" 2023-01-17 LTS
OpenJDK Runtime Environment Corretto-11.0.18.10.1 (build 11.0.18+10-LTS)
OpenJDK 64-Bit Server VM Corretto-11.0.18.10.1 (build 11.0.18+10-LTS, mixed mode)
もしかしてHomebrewいいのでは...?
Javaに限らず様々なパッケージをサポートしており、既に入れてるという人が多い印象。(僕も入れてる)
Homebrewでいい感じにJDKのバージョン管理ができるようであればそれで良い気がした。
実際にHomebrewに移行する際に追記する
2024/7/2 手でPATH変えるのが面倒くさい。できれば専用コマンドで楽に管理したい。
後述のjenv
で可能みたい
jenv 使ってみる
新しいパソコンにしてから初めてJava実行環境を作る必要が出てきたので今回はjenvを使ってみようと思います。
理由としてはjenvがHomebrewでインストールできるからです。
(dotfilesを使うようになったこともあり、可能な限りHomebrewで完結させたい)
jenvとは
どうやらHomebrewなどでインストールしたJavaをjenv
コマンドで簡単に管理できるようにするのが目的のようです。
なのであくまでJavaのインストールなんかはHomebrewなどを介して実行します。
jenv INSTALL
brew install jenv
環境変数
echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(jenv init -)"' >> ~/.zshrc
source ~/.zshrc
Java INSTALL
試しにAmazonCorretto 21とOpenJDK 17をインストール
brew install --cask corretto@21
brew install openjdk@17
jenvに追加
jenv add $(/usr/libexec/java_home -v 21)
jenv add $(brew --prefix openjdk@17)
実際に使ってみる
$ java -version
openjdk version "21.0.3" 2024-04-16 LTS
OpenJDK Runtime Environment Corretto-21.0.3.9.1 (build 21.0.3+9-LTS)
OpenJDK 64-Bit Server VM Corretto-21.0.3.9.1 (build 21.0.3+9-LTS, mixed mode, sharing)
$ jenv global 17
$ java -version
openjdk version "17.0.11" 2024-04-16
OpenJDK Runtime Environment Homebrew (build 17.0.11+0)
OpenJDK 64-Bit Server VM Homebrew (build 17.0.11+0, mixed mode, sharing)
$ jenv versions
system
* 17 (set by /Users/takecchi/.jenv/version)
17.0
17.0.11
21
21.0
21.0.3
corretto64-21.0.3
openjdk64-17.0.11
ちゃんと切り替わっていることがわかった。
このスクラップは5ヶ月前にクローズされました