跳转到内容

Java多版本管理

SDKMAN! 是一个用于在类 Unix 系统(Linux, macOS, WSL)上管理多个软件开发工具包的工具。它能够极大简化 Java, Maven, Gradle, Kotlin 等开发环境的搭建过程,并支持在不同版本间快速切换。

建议在安装时自定义目录,以便于全局管理:

Terminal window
# 指定安装目录 (可选)
export SDKMAN_DIR="/usr/local/sdkman"
# 执行在线安装脚本
curl -s "https://get.sdkman.io" | bash
# 加载环境变量
source "$SDKMAN_DIR/bin/sdkman-init.sh"
功能命令示例
列出支持的所有工具sdk list
列出特定工具的版本sdk list java
安装指定版本sdk install java 17.0.12-tem
设置默认版本sdk default java 17.0.12-tem
在当前会话切换版本sdk use java 11.0.22-sem
卸载版本sdk uninstall java 11.0.22-sem
更新 SDKMAN 本身sdk selfupdate

在团队协作或多项目开发中,不同项目可能依赖不同的 Java 或构建工具版本。可以使用 .sdkmanrc 文件实现自动化:

  1. 生成配置文件:在项目根目录下执行 sdk env init

  2. 定义版本:编辑生成的 .sdkmanrc

    java=17.0.12-tem
    maven=3.9.6
  3. 应用环境:在此目录下执行 sdk env 即可自动切换到定义的版本。