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
相关推荐
合作小小程序员小小店3 小时前
web网页开发,在线%考试管理%系统,基于Idea,vscode,html,css,vue,java,maven,springboot,mysql
java·前端·系统架构·vue·intellij-idea·springboot
椰壳也可3 小时前
06_作业基于CubeMx实现按键控制LED灯(裸机)(立芯嵌入式笔记)
笔记·stm32·学习
多多*4 小时前
maven常用的命令
java·log4j·maven
xie_pin_an4 小时前
MyBatis-Plus 实战:MPJLambdaWrapper 多表联查用法全解析
java·spring boot·spring·mybatis
ᐇ9594 小时前
Java LinkedList集合全面解析:双向链表的艺术与实战
java·开发语言·链表
luyun0202024 小时前
Windows 11操作更丝滑,绝了
java·运维·figma
码银4 小时前
【数据结构】顺序表
java·开发语言·数据结构
Boop_wu4 小时前
[Java EE] 计算机基础
java·服务器·前端
im_AMBER4 小时前
Leetcode 52
笔记·学习·算法·leetcode
橘子海全栈攻城狮5 小时前
【源码+文档+调试讲解】基于Spring Boot的考务管理系统设计与实现 085
java·spring boot·后端·spring