Windows平台SDKMAN工具使用

为方便jvm生态的软件版本管理,可以使用sdkman工具来安装和管理诸如javagradle等软件的当前使用版本。尤其是大多数程序员都是在windows平台开发,团队开发通常都需要统一的jvm相关软件的版本。这里给大家演示下windows平台如何安装和使用sdkman来实现这一需求。

文章目录

下载安装类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\currentPath中添加%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

相关推荐
子兮曰3 小时前
🔥C盘告急!WSL磁盘暴增?三招秒清20GB+空间
前端·windows·docker
学历真的很重要4 小时前
Claude Code Windows 原生版安装指南
人工智能·windows·后端·语言模型·面试·go
李游Leo4 小时前
LaTeX TeX Live 安装与 CTAN 国内镜像配置(Windows / macOS / Linux 全流程)
linux·windows·macos
Jayin_chan5 小时前
windows下安装claude code+国产大模型glm4.5接入(无需科学上网)
windows·claude code·glm4.5
cpsvps_net7 小时前
Windows远程FX编解码优化
windows
爱睡觉的圈圈8 小时前
突破反爬限制:动态IP轮换策略与实现
windows·tcp/ip·microsoft
fdc20178 小时前
Avalonia:使用附加属性实现命令与事件的绑定
javascript·windows·microsoft
float_六七9 小时前
Java Stream流:从入门到精通
java·windows·python
你是人间五月天1 天前
sentinel实现控制台与nacos数据双向绑定
windows·sentinel
小猫挖掘机(绝版)1 天前
通过tailscale实现一台电脑上vscode通过ssh连接另一台电脑上的VMware Linux 虚拟机
linux·windows·vscode·ubuntu·ssh