SDKMAN Java 版本管理器完整教程

SDKMAN(Software Development Kit Manager)是 JVM 生态系统的版本管理利器,不仅可以管理多个 JDK 版本(Oracle、OpenJDK、GraalVM 等),还能管理 Gradle、Maven、Kotlin、Scala 等 JVM 相关工具。本文将介绍如何在搬瓦工 VPS 上使用 SDKMAN 管理 Java 环境。购买搬瓦工使用优惠码 NODESEEK2026 享 6.77% 折扣。

一、安装 SDKMAN

# 安装前提:需要 curl、zip、unzip
apt update && apt install curl zip unzip -y

# 安装 SDKMAN
curl -s "https://get.sdkman.io" | bash

# 加载 SDKMAN
source "$HOME/.sdkman/bin/sdkman-init.sh"

# 验证安装
sdk version

二、安装 JDK

# 查看可用的 Java 版本
sdk list java

# 安装默认 JDK(最新推荐版本)
sdk install java

# 安装指定版本(以 Temurin/Adoptium 为例)
sdk install java 21.0.2-tem
sdk install java 17.0.10-tem
sdk install java 11.0.22-tem

# 安装 GraalVM
sdk install java 21.0.2-graalce

# 安装 Amazon Corretto
sdk install java 21.0.2-amzn

# 查看已安装版本
sdk list java | grep installed

三、版本切换

# 切换当前 Shell 使用的 Java 版本
sdk use java 17.0.10-tem

# 设置全局默认版本
sdk default java 21.0.2-tem

# 查看当前版本
sdk current java
java -version

# 查看所有当前使用的 SDK 版本
sdk current

项目级版本管理

# 在项目目录创建 .sdkmanrc
cd /opt/my-java-project

sdk env init
# 会创建 .sdkmanrc 文件,内容如:
# java=17.0.10-tem

# 进入项目目录后自动切换
sdk env

# 启用自动切换(在 ~/.sdkman/etc/config 中设置)
sed -i 's/sdkman_auto_env=false/sdkman_auto_env=true/' ~/.sdkman/etc/config

四、管理构建工具

# 安装 Maven
sdk install maven
sdk install maven 3.9.6
mvn --version

# 安装 Gradle
sdk install gradle
sdk install gradle 8.5
gradle --version

# 安装 Kotlin
sdk install kotlin

# 安装 Spring Boot CLI
sdk install springboot

# 查看所有可管理的 SDK
sdk list

五、实战:部署 Spring Boot 应用

# 安装 Java 21 和 Maven
sdk install java 21.0.2-tem
sdk install maven 3.9.6

# 克隆项目并构建
cd /opt
git clone https://github.com/yourname/spring-app.git
cd spring-app

# 打包
mvn clean package -DskipTests

# 运行
java -jar target/app.jar --server.port=8080

Systemd 服务配置

cat > /etc/systemd/system/spring-app.service << 'EOF'
[Unit]
Description=Spring Boot Application
After=network.target

[Service]
User=deploy
WorkingDirectory=/opt/spring-app
Environment="JAVA_HOME=/home/deploy/.sdkman/candidates/java/current"
ExecStart=/home/deploy/.sdkman/candidates/java/current/bin/java -jar target/app.jar
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target
EOF

systemctl daemon-reload
systemctl enable spring-app && systemctl start spring-app

六、常用命令速查

sdk list java             # 查看可安装的 Java 版本
sdk install java 21       # 安装 Java(简写版本号)
sdk uninstall java 11     # 卸载指定版本
sdk use java 17           # 临时切换版本
sdk default java 21       # 设置全局默认
sdk current               # 查看当前所有 SDK 版本
sdk env init              # 创建项目配置
sdk env                   # 加载项目配置
sdk upgrade               # 升级所有候选项
sdk selfupdate            # 更新 SDKMAN 自身
sdk flush                 # 清理临时文件

七、卸载和清理

# 清理下载缓存
sdk flush archives
sdk flush tmp

# 卸载特定版本
sdk uninstall java 11.0.22-tem

# 完全卸载 SDKMAN
rm -rf ~/.sdkman
# 然后从 ~/.bashrc 中删除 SDKMAN 相关行

总结

SDKMAN 是 JVM 开发者的必备工具,让 Java 多版本管理变得简单优雅。它不仅管理 JDK,还能管理整个 JVM 生态的构建工具。对于在搬瓦工 VPS 上部署 Java 应用的用户,SDKMAN 可以大幅简化环境配置。如果你同时使用多种编程语言,也可以了解通用版本管理器 asdf。选购搬瓦工请访问 全部方案,使用优惠码 NODESEEK2026 享 6.77% 折扣,通过 bwh81.net 进入官网。

关于本站

搬瓦工VPS中文网(bwgvps.com)是非官方中文信息站,整理搬瓦工的方案、优惠和教程。我们不销售主机,不提供技术服务。

新手必读
搬瓦工优惠码

NODESEEK2026(优惠 6.77%)

购买时填入即可抵扣。