You need to enable JavaScript to run this app. Ubuntu系统下如何永久配置sdkman及sdkman安装的JDK环境变量
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu系统下如何永久配置sdkman及sdkman安装的JDK环境变量

解决方法

核心原因是sdkman的初始化脚本没有被添加到shell的启动配置文件中,导致新会话无法自动加载相关环境,按以下步骤配置即可永久生效:

步骤1:确认当前使用的shell

执行以下命令查看你正在使用的shell类型:

echo $SHELL

常见输出对应shell类型:

  • 输出/bin/bash:对应Bash shell
  • 输出/bin/zsh:对应Zsh shell(macOS Catalina及以上版本默认shell)
  • 输出/usr/bin/fish:对应Fish shell

步骤2:将初始化命令添加到对应配置文件

根据你的shell类型,编辑对应启动配置文件,在文件末尾添加sdkman初始化语句:

若使用Bash

  • Linux系统编辑~/.bashrc文件,macOS旧版本(Catalina之前)编辑~/.bash_profile文件
  • 末尾添加内容:
source "$HOME/.sdkman/bin/sdkman-init.sh"
  • 保存后执行以下命令让配置立即生效:
source ~/.bashrc
# 如果你是macOS旧版本Bash则执行 source ~/.bash_profile

若使用Zsh

  • 编辑~/.zshrc文件
  • 末尾添加内容:
source "$HOME/.sdkman/bin/sdkman-init.sh"
  • 保存后执行以下命令让配置立即生效:
source ~/.zshrc

若使用Fish

  • 编辑~/.config/fish/config.fish文件
  • 末尾添加内容:
set SDKMAN_DIR "$HOME/.sdkman"
source "$SDKMAN_DIR/bin/sdkman-init.fish"
  • 保存后重启终端即可生效

步骤3:验证配置

新开终端后执行以下命令验证配置是否生效:

  • 验证sdkman可用:执行sdk version,正常会返回sdkman版本信息
  • 验证JDK自动加载:执行java -version,返回你之前设置的默认JDK版本即可
  • 如果需要指定默认JDK版本,执行sdk default java <对应JDK版本号>即可,sdkman会自动配置对应JAVA_HOME和PATH变量,无需手动修改JDK相关环境配置。

内容的提问来源于stack exchange,提问作者Masi Boo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.08 04:36:03