sdkman

cli stands for client!
This is unofficial client of SDKMAN! which is a tool for managing parallel versions of multiple Software Development Kits like jdk, gradle, scala and etc.
Installation
Windows & scoop
scoop bucket add palindrom615 https://github.com/palindrom615/scoop-bucket
scoop install sdkman
macOS & homebrew
brew tap palindrom615/homebrew-tap
brew install sdkman
Arch linux & aur
with yay:
yay -S sdkman
without yay:
git clone https://aur.archlinux.org/sdkman
cd sdkman
makepkg -si
with go
If go is already installed on your computer, one line is enough to get executable:
go install --mod=mod github.com/palindrom615/sdkman
Activation
Windows
For setting up permanent enviornment variables, execute below after install sdks.
Invoke-Expression (sdk export windows)
powershell
For using only on powershell, add line below in your $PROFILE
Add-Content $Profile "Invoke-Expression (sdk export posh)"
bash, fish, zsh
# You should add "eval $(sdk" export bash)" on your .bashrc file
echo "eval \$(sdk export bash)" >> ~/.bashrc
echo "eval \$(sdk export zsh)" >> ~/.zshrc
echo "eval (sdk export fish)" >> ~/.config/config.fish
Usage
Install SDK
sdk install java
sdk install gradle@6.0.1
Show list of SDK
sdk list java
Set default version of SDK
# should be installed first!
sdk use java@8.0.242-amzn
Show currently using SDKs
sdk current