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

相关推荐
梓仁沐白4 小时前
ubuntu+windows双系统切换后蓝牙设备无法连接
windows·ubuntu
九鼎科技-Leo8 小时前
什么是 WPF 中的依赖属性?有什么作用?
windows·c#·.net·wpf
Yang.9910 小时前
基于Windows系统用C++做一个点名工具
c++·windows·sql·visual studio code·sqlite3
我不瘦但很逗10 小时前
Windows下使用DBeaver连接云数据库(MySQL)
数据库·windows
ashane131411 小时前
Java list
java·windows·list
万里沧海寄云帆11 小时前
Word 插入分节符页码更新问题
windows·microsoft·word
dot.Net安全矩阵12 小时前
.NET 通过模块和驱动收集本地EDR的工具
windows·安全·web安全·.net·交互
编程修仙14 小时前
Collections工具类
linux·windows·python
程序员小羊!15 小时前
高级 SQL 技巧讲解
windows
xiangshangdemayi17 小时前
Windows环境GeoServer打包Docker极速入门
windows·docker·容器·geoserver·打包·数据挂载