MacOS 使用 SDKMAN 管理 JDK 版本
2020-09-27 本文已影响0人
CHMAX
一、安装 SDKMAN
打开终端,执行以下命令进行安装。
$ curl -s "https://get.sdkman.io" | bash
安装完成之后,SDKMAN 就已经集成到 bash 以及 zsh 中,可以在 ~/.bash_profile 和 ~/.zshrc 文件最后看到如下代码。
#THIS MUST BE AT THE END OF THE FILE FOR SDKMAN TO WORK!!!
export SDKMAN_DIR="/Users/chenhui/.sdkman"
[[ -s "/Users/chenhui/.sdkman/bin/sdkman-init.sh" ]] && source "/Users/chenhui/.sdkman/bin/sdkman-init.sh"
现在可以打开新的终端,或者在当前终端执行以下命令来完成环境初始化。
$ source "$HOME/.sdkman/bin/sdkman-init.sh"
最后执行以下命令以确保安装成功。
$ sdk version
SDKMAN 5.9.0+555
二、安装 JDK
通过 list 命令可以查询到当前可用的全部 JDK 的版本。
$ sdk list java
================================================================================
Available Java Versions
================================================================================
Vendor | Use | Version | Dist | Status | Identifier
--------------------------------------------------------------------------------
AdoptOpenJDK | | 15.0.0.j9 | adpt | | 15.0.0.j9-adpt
| | 15.0.0.hs | adpt | | 15.0.0.hs-adpt
...
| | 11.0.8.j9 | adpt | | 11.0.8.j9-adpt
| | 11.0.8.hs | adpt | | 11.0.8.hs-adpt
| | 8.0.265.j9 | adpt | | 8.0.265.j9-adpt
| | 8.0.265.hs | adpt | | 8.0.265.hs-adpt
Amazon | | 15.0.0 | amzn | | 15.0.0-amzn
| | 11.0.8 | amzn | | 11.0.8-amzn
...
================================================================================
Use the Identifier for installation:
$ sdk install java 11.0.3.hs-adpt
================================================================================
考虑篇幅,这里只展示了部分可用的版本,我们可以 install 命令和 Identifier 值来安装指定版本的 JDK,比如要安装 8.0.265.hs-adpt 版本的,可以执行如下命令:
$ sdk install java 8.0.265.hs-adpt
Downloading: java 8.0.265.hs-adpt
In progress...
####################################################################100.0%
Repackaging Java 8.0.265.hs-adpt...
Done repackaging...
Cleaning up residual files...
Installing: java 8.0.265.hs-adpt
Done installing!
Setting java 8.0.265.hs-adpt as default.
首次安装时,会直接将当前安装的版本设置为默认版本,而安装多个不同版本的时候,会询问你是否将当前安装的版本设置为默认版本。
三、设置环境变量
设置 JAVA_HOME 变量始终指向 SDKMAN 使用的当前版本。
export JAVA_HOME='$SDKMAN_DIR/candidates/java/current'
四、SDKMAN 常用命令
删除指定版本的 uninstall 或 rm 命令:
$ sdk uninstall java 8.0.265.hs-adpt
设置全局的默认版本的 default 命令:
$ sdk default java 8.0.265.hs-adpt
设置只在当前终端生效版本的 use 命令:
$ sdk use java 8.0.265.hs-adpt