SDKMAN管理 Java 多版本
🚀 使用 SDKMAN! 管理 Java 多版本
SDKMAN! 是一个跨平台工具,用来安装、管理、切换多个版本的 JDK 和其他 JVM 工具。它的体验非常类似 nvm
或 volta
。
官网
前往官方网站
📌 1. 安装 SDKMAN!
在终端执行:
curl -s "https://get.sdkman.io" | bash
安装完成后,加载环境变量:
source "$HOME/.sdkman/bin/sdkman-init.sh"
建议写入 ~/.zshrc
或 ~/.bashrc
:
echo 'source "$HOME/.sdkman/bin/sdkman-init.sh"' >> ~/.zshrc
然后重新加载:
source ~/.zshrc
📌 2. 查看可用的 JDK 版本
sdk list java
输出示例(部分):
================================================================================
Available Java Versions
================================================================================
21.0.1-tem 17.0.12-tem 11.0.22-tem
> * 1.8.0_392-zulu
================================================================================
tem
= Eclipse Temurin(推荐的 OpenJDK LTS 发行版)zulu
= Azul Zuluoracle
= Oracle JDKgraalce
= GraalVM Community Edition
📌 3. 安装 JDK 17
比如安装 Temurin JDK 17:
sdk install java 17.0.12-tem
如果需要 Oracle JDK 17:
sdk install java 17.0.12-oracle
📌 4. 切换 JDK 版本
- 临时切换(当前 shell 有效):
sdk use java 17.0.12-tem
- 设置默认 JDK(全局生效):
sdk default java 17.0.12-tem
- 针对项目目录设置 JDK:
进入项目目录后执行:
sdk env init
会生成 .sdkmanrc
文件,编辑成:
java=17.0.12-tem
然后执行:
sdk env
进入目录时就会自动切换到 JDK 17。
📌 5. 验证
java -version
输出类似:
openjdk version "17.0.12" 2025-07-16 LTS
OpenJDK Runtime Environment Temurin-17.0.12+7 (build 17.0.12+7-LTS)
OpenJDK 64-Bit Server VM Temurin-17.0.12+7 (build 17.0.12+7-LTS, mixed mode, sharing)
📌 6. 常用命令速查表
命令 | 说明 |
---|---|
sdk list java | 查看所有可用的 JDK 版本 |
sdk install java <版本> | 安装某个 JDK 版本 |
sdk uninstall java <版本> | 卸载某个 JDK 版本 |
sdk use java <版本> | 临时切换 JDK 版本 |
sdk default java <版本> | 设置全局默认 JDK |
sdk env init | 初始化 .sdkmanrc 文件 |
sdk env | 按 .sdkmanrc 自动切换版本 |
✨ 用了 SDKMAN! 之后,你就能完全摆脱系统自带的 JAVA_HOME
复杂配置,切换版本就像 nvm use 17
一样方便。