Mac 安装及使用sdkman指南

什么是SDKMA?

SDKMAN(Software Development Kit Manager)是一款专为JVM生态设计的全功能SDK管理工具,通过命令行界面为开发者提供极简的SDK版本管理方案。作为Java开发者工具链中的核心组件,它能高效管理Java、Scala、Kotlin等JVM语言环境及Maven、Gradle等构建工具的版本控制

特点

🔧 统一管理:集中管控50+个JVM相关SDK(涵盖JDK/Gradle/Scala/Spring Boot等)

⚡ 智能安装:自动化完成下载、安装、环境变量配置全流程

🔄 版本热切换:支持多版本并行与即时环境切换(如JDK8←→17秒级切换)

📱 全平台兼容:原生支持Linux/macOS,通过WSL完美适配Windows

💻 极简CLI:直观命令设计(sdk install/use/list),降低工具学习曲线

安装 SDKMAN!

在终端中执行以下命令来安装 SDKMAN!: 安装完成后,按照提示重启终端或者执行以下命令使配置生效:

复制代码
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"

卸载 SDKMAN!

若要卸载 SDKMAN!,可以执行以下命令:

复制代码
rm -rf "$HOME/.sdkman"

然后手动从你的 shell 配置文件(如 .bashrc.zshrc)中移除 SDKMAN! 的初始化脚本引用。

基本使用命令

列出可用的 SDK

使用 sdk list 命令可以列出 SDKMAN! 支持的所有 SDK:

复制代码
sdk list

若要查看特定 SDK 的可用版本,可在 list 后面加上 SDK 名称,例如查看 Java 的可用版本:

复制代码
sdk list java

安装 SDK

使用 sdk install 命令来安装指定的 SDK 版本,例如安装 Java 11:

复制代码
sdk install java 11.0.23-amzn

这里的 11.0.12-open 是 Java 的一个具体版本标识,你可以根据 sdk list java 列出的版本信息选择合适的版本进行安装。

卸载 SDK

使用 sdk uninstall 命令来卸载已安装的 SDK 版本,例如卸载之前安装的 Java 11:

复制代码
sdk uninstall java 11.0.23-amzn

使用特定版本的 SDK

使用 sdk use 命令可以临时切换到指定版本的 SDK,例如临时使用 Java 17:

复制代码
sdk use java 17.0.14-amzn

若要永久设置某个版本为默认版本,使用 sdk default 命令,例如将 Java 17 设置为默认版本:

复制代码
sdk default java 17.0.14-amzn

查看当前使用的 SDK 版本

使用 sdk current 命令可以查看当前正在使用的 SDK 版本,例如查看当前使用的 Java 版本:

复制代码
sdk current java

更新 SDKMAN!

使用 sdk selfupdate 命令可以更新 SDKMAN! 自身到最新版本:

复制代码
sdk selfupdate

检查 SDK 更新

使用 sdk update 命令可以检查已安装的 SDK 是否有可用的更新:

复制代码
sdk update

帮助命令

使用 sdk help 命令可以查看 SDKMAN! 的帮助信息,了解所有可用的命令及其用法:

复制代码
sdk help
相关推荐
浮生带你学Java31 分钟前
2025Java面试题及答案整理( 2025年 7 月最新版,持续更新)
java·开发语言·数据库·面试·职场和发展
板板正37 分钟前
SpringAI——提示词(Prompt)、提示词模板(PromptTemplate)
java·spring boot·ai·prompt
板板正44 分钟前
SpringAI——对话记忆
java·spring boot·ai
期待のcode1 小时前
图片上传实现
java·前端·javascript·数据库·servlet·交互
李长渊哦1 小时前
深入理解Java中的Map.Entry接口
java·开发语言
夜月蓝汐2 小时前
JAVA中的Collection集合及ArrayList,LinkedLIst,HashSet,TreeSet和其它实现类的常用方法
java·开发语言
帅到爆的努力小陈2 小时前
Java集合框架中List常见问题
java·集合·list集合·java-list
谢白羽2 小时前
jenkins搭建笔记
运维·笔记·jenkins
xiaoli23272 小时前
课题学习笔记1——文本问答与信息抽取关键技术研究论文阅读(用于无结构化文本问答的文本生成技术)
笔记·学习
秋千码途3 小时前
小架构step系列17:getter-setter-toString
java·开发语言·架构