Java 版本管理 SDKMAN! 安装与使用指南

13 阅读3分钟

SDKMAN! 安装与使用指南

SDKMAN! 是一个用于管理多个 SDK 版本的工具,支持 Java、Maven、Kotlin、Scala、Groovy 等多种 JVM 语言和工具。


一、安装 SDKMAN!

1. 系统要求

  • Unix 系统(macOS、Linux)或 Windows(需要 WSL/Git Bash/Cygwin)
  • 已安装 curlzip/unzip

2. 安装命令

curl -s "https://get.sdkman.io" | bash

如果装一半中断可以先删除再重新装 $ rm -rf ~/.sdkman

3. 初始化

安装完成后,打开新终端或执行:

source "$HOME/.sdkman/bin/sdkman-init.sh"

4. 验证安装

sdk version

二、Java 安装与管理

1. 查看可用 JDK 版本

sdk list java

2. 安装 JDK

# 安装最新稳定版
sdk install java

# 安装指定版本(版本号从 list 中获取)
sdk install java 21.0.2-tem

# 安装指定发行商的版本
sdk install java 17.0.10-zulu

3. 切换 JDK 版本

# 临时切换(仅当前终端生效)
sdk use java 21.0.2-tem

# 永久切换(设为默认版本)
sdk default java 21.0.2-tem

4. 查看当前使用的版本

sdk current java

5. 查看已安装的版本

sdk list java | grep installed

6. 卸载 JDK

sdk uninstall java 21.0.2-tem

7. 查看 JAVA_HOME

echo $JAVA_HOME
# 或
sdk home java current

8. 常用 JDK 发行版

标识发行商说明
temEclipse Temurin社区版,推荐使用
zuluAzul Zulu免费商业支持
amznAmazon CorrettoAWS 优化
graalGraalVM高性能,支持原生编译
oracleOracle官方版本
msMicrosoft微软构建版本

三、Maven 安装与管理

1. 查看可用 Maven 版本

sdk list maven

2. 安装 Maven

# 安装最新稳定版
sdk install maven

# 安装指定版本
sdk install maven 3.9.6

3. 切换 Maven 版本

# 临时切换(仅当前终端生效)
sdk use maven 3.9.6

# 永久切换(设为默认版本)
sdk default maven 3.9.6

4. 查看当前使用的版本

sdk current maven

5. 查看已安装的版本

sdk list maven | grep installed

6. 卸载 Maven

sdk uninstall maven 3.9.6

7. 查看 Maven 安装路径

sdk home maven current

8. 验证 Maven 安装

mvn -v

四、命令速查对比

操作Java 命令Maven 命令
查看可用版本sdk list javasdk list maven
安装最新版sdk install javasdk install maven
安装指定版本sdk install java 21.0.2-temsdk install maven 3.9.6
临时切换版本sdk use java <version>sdk use maven <version>
设为默认版本sdk default java <version>sdk default maven <version>
查看当前版本sdk current javasdk current maven
卸载版本sdk uninstall java <version>sdk uninstall maven <version>
查看安装路径sdk home java <version>sdk home maven <version>

五、项目级版本管理

在项目根目录创建 .sdkmanrc 文件,可同时管理 Java 和 Maven 版本:

# 进入项目目录
cd your-project

# 设置当前版本到配置文件
sdk env init

.sdkmanrc 文件内容示例:

java=21.0.2-tem
maven=3.9.6

切换到项目目录时自动使用配置的版本:

sdk env

开启自动切换(在 ~/.sdkman/etc/config 中设置):

sdkman_auto_env=true

六、卸载 SDKMAN!

rm -rf ~/.sdkman

然后从 ~/.bashrc~/.zshrc 中删除 SDKMAN! 初始化代码。


七、常见问题

Q: 安装后命令找不到?

重新加载配置:

source ~/.zshrc  # 或 source ~/.bashrc

Q: 网络问题导致安装失败?

可以设置代理或使用镜像源,编辑 ~/.sdkman/etc/config

Q: 如何查看所有已安装的 SDK?

sdk current