为方便jvm
生态的软件版本管理,可以使用sdkman
工具来安装和管理诸如java
、gradle
等软件的当前使用版本。尤其是大多数程序员都是在windows
平台开发,团队开发通常都需要统一的jvm
相关软件的版本。这里给大家演示下windows
平台如何安装和使用sdkman
来实现这一需求。
文章目录
-
- 下载安装类Unix工具MSYS2
- 解决MSYS2下Windows环境变量不能用的问题
- 安装sdkman
- [实战 - 安装和使用groovy](#实战 - 安装和使用groovy)
- [实战 - 安装jdk](#实战 - 安装jdk)
下载安装类Unix工具MSYS2
MSYS2下载地址:https://www.msys2.org/主页的安装链接
MSYS2安装,位置可自己指定:D:\Programs\msys64
说明
安装位置默认是系统盘,后续用sdk安装的软件会放在sdk安装目录中,要是系统盘空间有限,建议自己指定
sdkman
安装盘。
在开始菜单中把MSYS2 MSYS
发送桌面快捷方式,方便调取。
解决MSYS2下Windows环境变量不能用的问题
新增环境变量MSYS2_PATH_TYPE
,值为inherit
,重启MSYS2
。
安装sdkman
shell
# 安装zip、unzip
pacman -S zip unzip
# 安装sdkman
export SDKMAN_DIR="D:/Programs/sdkman" && curl -s "https://get.sdkman.io" | bash
# 让环境变量马上生效,这样新开一个命令窗口sdk命令也生效
source "D:/Programs/sdkman/bin/sdkman-init.sh"
# 查看版本
sdk version
实战 - 安装和使用groovy
sh
# 查看groovy版本 如果显示的列表太长,按上下键滚动,按q建退出
sdk list groovy
# 先安装3.0.4版本
sdk install groovy 3.0.4
# 再安装4.0.22版本,方便演示版本切换
sdk install groovy 4.0.22
# 在当前shell会话中使用指定版本
sdk use groovy 3.0.4
# 对所有shell会话都生效,注意要获取管理员权限
# 设置的路径为:D:\Programs\sdkman\candidates\groovy\current
# 为了访问groovy命令,在Path中添加路径:D:\Programs\sdkman\candidates\groovy\current\bin
sdk default groovy 4.0.22
# 查看当前sdk使用的所有安装好的软件版本
sdk current
# 查看当前sdk使用的groovy软件版本
sdk current groovy
# 自行演示groovy版本切换
更优雅的设置环境变量
这里把
D:\Programs\sdkman\candidates\groovy\current\bin
直接添加到Path
环境变量不是那么优雅。更好的做法:新建环境变量GROOVY_HOME
指向D:\Programs\sdkman\candidates\groovy\current
,Path
中添加%GROOVY_HOME%\bin
实战 - 安装jdk
sh
# 查看jdk版本
sdk list java
# 安装指定版本
sdk install java 17.0.12-oracle
sdk install java 22.0.2-oracle
# 设置当前使用的版本
sdk default java 17.0.12-oracle
将路径:D:\Programs\sdkman\candidates\java\current
设置为JAVA_HOME
环境变量的值。Path
变量中添加%JAVA_HOME%\bin
。
注意
这种软链接方式设置当前版本,其路径在集成开发环境
idea
中绑定本地jdk
会有问题,笔者实践时遇到编译源代码找不到jdk
类库,绑定特定jdk
版本的安装路径则问题解决。
这种方式有问题
下面这种ok