一、SDKMAN
假如你同时参与了一个使用JDK 8的项目和一个采用JDK 17特性的项目。每次在两个项目之间切换时,你都面临着版本冲突的问题。如果有那么一个工具类似于 Python 中的 anaconda 工具,可以帮助你管理不同版本的 SDK ,是不是非常有用,那 SDKMAN 就可以帮你实现。
SDKMAN 是一款面向Java开发者的命令行工具,旨在简化Unix系统上SDKs的管理。它支持跨平台使用,提供便捷的版本控制和切换功能,通过维护候选SDK列表,让用户能够轻松安装、更新和卸载各类软件开发工具包。SDK 支持如 Java,Groovy,Scala,Kotlin、Ceylon,也支持Maven,Gradle,SBT,Spring Boot,Vert.x 等。
二、Windows 安装
目前 Windows 有两种安装方式,WSL 和 Git Bash 的方式,Git 大家电脑中应该都有安装,因此下面基于 Git Bash 进行安装 SDKMAN 。
首先安装 SDKMAN 会使用到 unzip、zip、curl、sed 命令,默认 Git 包含了 unzip、curl、sed 但缺少 zip :

因此这里需要为 Git 集成 zip 命令,首先下载 zip 包:
https://sourceforge.net/projects/gnuwin32/files/zip/3.0/

下载后,将解压后 bin 目录下的 zip.exe 拷贝到 Git 安装目录下 mingw64/bin 目录下:

同时 zip 还依赖 bzip2 ,因此还要下载 bzip2 包:
https://sourceforge.net/projects/gnuwin32/files/bzip2/1.0.5/

下载后,将解压后 bin 目录下的 bzip2.dll 拷贝到 Git 安装目录下 mingw64/bin 目录下:

然后再次尝试 zip 命令,可以看到已经可以了:

下面开始下载安装 SDKMAN ,在 Git Bash 中执行如下操作:
curl -s "https://get.sdkman.io" | bash

安装完成后,将 SDKMAN 添加到环境变量中:
source "$HOME/.sdkman/bin/sdkman-init.sh"

验证环境:
sdk version

三、SDKMAN 使用
3.1 查看所有可用的SDK
sdk list

可以看到可以安装非常多的应用,而不限于 JDK 。
3.2 查看所有指定类型可用的SDK
sdk list java

3.3 安装指定类型版本的SDK
sdk install java 21.0.2-open

3.4 切换并使用指定类型版本的SDK
sdk use java 21.0.2-open

验证 java 版本:
java --version

3.5 设置默认版本
sdk default java 21.0.2-open

3.6 查看当前使用的 SDK
sdk current

3.7 查看当前使用的指定类型的 SDK
sdk current java

3.8 查看 SDK 安装目录
sdk home java 21.0.2-open

3.8 卸载指定类型版本的SDK
sdk uninstall java 21.0.2-open
3.9 升级 SDKMAN
sdk selfupdate





![[012-1].第12节:Mysql的配置文件的使用](https://i-blog.csdnimg.cn/blog_migrate/5df72695a3173c192b5aa607fa2dab27.png)












