0

0

在Java中如何通过SDKMAN管理JDK版本_Java多版本管理工具解析

P粉602998670

P粉602998670

发布时间:2026-02-12 17:35:53

|

172人浏览过

|

来源于php中文网

原创

sdkman需在bash/zsh中正确初始化才能管理jdk:安装后必须source sdkman-init.sh并写入对应shell配置文件,否则java仍指向系统默认;sdk install仅下载,sdk use临时切换,sdk default才持久生效;path冲突或current链接悬空会导致java/javac不更新。

在java中如何通过sdkman管理jdk版本_java多版本管理工具解析

SDKMAN 能可靠地管理多个 JDK 版本,但前提是它必须运行在支持的 shell 环境中(如 Bash、Zsh),且初始化脚本被正确加载;否则 java 命令仍会指向系统默认 JDK,sdk list java 可能报错或返回空。

安装后必须手动初始化 shell 配置

SDKMAN 不是“装完即用”,它依赖 shell 的 source 加载自身环境变量。常见失败原因是跳过了这步,或配置未写入当前 shell 的启动文件。

  • 执行 curl -s "https://get.sdkman.io" | bash 后,必须运行 source "$HOME/.sdkman/bin/sdkman-init.sh"
  • Zsh 用户需将 source "$HOME/.sdkman/bin/sdkman-init.sh" 追加到 ~/.zshrc;Bash 用户对应 ~/.bashrc
  • 新开终端后运行 sdk version 验证是否生效;若提示 command not found,说明初始化失败

sdk install javasdk use java 的关键区别

sdk install 只下载并解压指定版本到 ~/.sdkman/candidates/java/,不改变当前环境;sdk use 是临时切换,仅对当前 shell 有效;而 sdk default 才会持久化影响所有新终端。

SmartWriter.ai
SmartWriter.ai

用 AI生成个性化电子邮件或Linkedin消息

下载
  • 列出可用版本:sdk list java(注意部分发行版如 temurinliberica 需看全名,如 temurin-17.0.2+8
  • 安装指定版本:sdk install java 17.0.2-temurin(版本标识符必须完全匹配 sdk list 输出)
  • 临时使用:sdk use java 17.0.2-temurin → 此时 java -version 生效,但关掉终端即失效
  • 设为默认:sdk default java 17.0.2-temurin → 新开终端自动启用该版本

切换 JDK 后 javacjava 仍不更新?检查 PATH 冲突

即使 sdk default 成功,若系统 PATH 中存在硬编码的 JDK 路径(如 /usr/lib/jvm/java-11-openjdk-amd64/bin),它会优先于 SDKMAN 的 ~/.sdkman/candidates/java/current/bin

立即学习Java免费学习笔记(深入)”;

  • 运行 which javaecho $PATH,确认输出路径以 ~/.sdkman/candidates/java/current/bin 开头
  • 检查 /etc/environment/etc/profile、用户主目录下的 .profile 是否有 export JAVA_HOME=...export PATH=... 硬编码
  • SDKMAN 自动设置 JAVA_HOME,因此外部显式设置会覆盖它;应删除或注释掉这些行

最容易被忽略的是:SDKMAN 的 current 符号链接是否真实指向已安装版本目录——有时 sdk install 失败但无明确报错,current 悬空,导致 java 命令根本找不到可执行文件。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
curl_exec
curl_exec

curl_exec函数是PHP cURL函数列表中的一种,它的功能是执行一个cURL会话。给大家总结了一下php curl_exec函数的一些用法实例,这个函数应该在初始化一个cURL会话并且全部的选项都被设置后被调用。他的返回值成功时返回TRUE, 或者在失败时返回FALSE。

450

2023.06.14

linux常见下载安装工具
linux常见下载安装工具

linux常见下载安装工具有APT、YUM、DNF、Snapcraft、Flatpak、AppImage、Wget、Curl等。想了解更多linux常见下载安装工具相关内容,可以阅读本专题下面的文章。

179

2023.10.30

mysql标识符无效错误怎么解决
mysql标识符无效错误怎么解决

mysql标识符无效错误的解决办法:1、检查标识符是否被其他表或数据库使用;2、检查标识符是否包含特殊字符;3、使用引号包裹标识符;4、使用反引号包裹标识符;5、检查MySQL的配置文件等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

194

2023.12.04

Python标识符有哪些
Python标识符有哪些

Python标识符有变量标识符、函数标识符、类标识符、模块标识符、下划线开头的标识符、双下划线开头、双下划线结尾的标识符、整型标识符、浮点型标识符等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

300

2024.02.23

java标识符合集
java标识符合集

本专题整合了java标识符相关内容,想了解更多详细内容,请阅读下面的文章。

270

2025.06.11

c++标识符介绍
c++标识符介绍

本专题整合了c++标识符相关内容,阅读专题下面的文章了解更多详细内容。

129

2025.08.07

default gateway怎么配置
default gateway怎么配置

配置default gateway的步骤:1、了解网络环境;2、获取路由器IP地址;3、登录路由器管理界面;4、找到并配置WAN口设置;5、配置默认网关;6、保存设置并退出;7、检查网络连接是否正常。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

226

2023.12.07

http与https有哪些区别
http与https有哪些区别

http与https的区别:1、协议安全性;2、连接方式;3、证书管理;4、连接状态;5、端口号;6、资源消耗;7、兼容性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2444

2024.08.16

c语言 数据类型
c语言 数据类型

本专题整合了c语言数据类型相关内容,阅读专题下面的文章了解更多详细内容。

2

2026.02.12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Kotlin 教程
Kotlin 教程

共23课时 | 3.5万人学习

C# 教程
C# 教程

共94课时 | 9.3万人学习

Java 教程
Java 教程

共578课时 | 64.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号