如何在Windows中安装SDKMAN管理Java版本

推荐在Windows中通过WSL安装SDKMAN来管理Java版本。首先启用WSL并安装Ubuntu,更新系统后安装curl,再通过curl下载并安装SDKMAN,执行source命令初始化环境,验证sdk version确认安装成功。随后使用sdk list java查看可用版本,sdk install安装指定JDK(如17.0.9-zulu),sdk use切换当前版本,sdk default设置默认版本。在PowerShell中可通过wsl java -version调用Java,建议在WSL环境中进行开发以获得完整功能支持。

SDKMAN(Software Development Kit Manager)是一个流行的命令行工具,主要用于在Unix-like系统(如Linux和macOS)上管理软件开发工具包,包括Java、Groovy、Kotlin等。它本身不支持Windows原生命令行环境,但你可以通过一些方法在Windows中使用它。

使用WSL安装SDKMAN管理Java版本

最推荐的方式是在Windows中启用WSL(Windows Subsystem for Linux),然后在Linux子系统中安装SDKMAN。

步骤如下:
  • 启用WSL:以管理员身份打开PowerShell,运行以下命令:
    wsl --install
    此命令会自动安装默认的Linux发行版(通常是Ubuntu)。如果没有自动安装,可手动执行 wsl --install -d Ubuntu
  • 重启电脑后,系统会提示你创建一个Linux用户账户,按提示完成设置。
  • 启动Ubuntu(或其他已安装的Linux发行版)。
  • 更新包管理器:
    sudo apt update && sudo apt upgrade
  • 安装必要的依赖(如curl):
    sudo apt install curl
  • 下载并安装SDKMAN:
    curl -s "https://get.sdkman.io" | bash
  • 关闭终端并重新打开,或运行:
    source "$HOME/.sdkman/bin/sdkman-init.sh"
  • 验证安装是否成功:
    sdk version
    如果输出版本号,说明安装成功。

使用SDKMAN管理Java版本

安装完成后,你可以用SDKMAN轻松列出、安装和切换Java版本。

  • 查看可用的Java版本:
    sdk list java
  • 安装指定版本的JDK(例如Zulu 17):
    sdk install java 17.0.9-zulu
  • 切换Java版本:
    sdk use java 17.0.9-zulu
  • 设置默认版本(全局生效):
    sdk default java 17.0.9-zulu
  • 查看当前使用的Java版本:
    java -version

在Windows终端中调用WSL中的Java

如果你希望在Windows命令行或PowerShell中直接使用WSL里通过SDKMAN安装的Java,可以配置路径或使用wsl命令调用。

  • 在PowerShell中运行Linux版Java:
    wsl java -version
  • 若要在Windows中更方便地使用,可将WSL的Java路径映射到Windows环境变量,但更建议直接在WSL环境中进行Java开发。

基本上就这些。通过WSL,你可以在Windows上完整体验SDKMAN的强大功能,灵活管理多个Java版本。虽然不能在CMD或PowerShell中原生运行SDKMAN,但WSL提供了几乎无缝的Linux环境支持。