讲师中心 微信公众号

工具推荐

视频效率加速
立刻MV
立刻MV

低成本歌曲 MV、视频生成

Seko
Seko

AI短剧一键生成成片

剧云
剧云

中文短剧剧本制作平台

Laper
Laper

剧本策划到成片协作

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

胖辰小哥_6248

胖辰小哥_6248

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

|

272人浏览过

|

来源于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 java 与 sdk use java 的关键区别

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

Java调试
Java调试

通过 JDWP 实现 Java 远程调试:连接远程 JVM、设置断点、单步执行代码、查看变量值、获取调用栈。适用于需要调试远程 Java 应用、排查运行时状态、追踪代码执行流程的场景。 术语注解 JDWP:Java Debug Wire Protocol,Java 调试有线协议(Java 远程调试底层通信协议) remote JVM:远程 Java 虚拟机 step through code:代码单步调试(步入 / 步过 / 步出调试) inspect variables:变量查看 / 变量检视 stac

下载
  • 列出可用版本:sdk list java(注意部分发行版如 temurin、liberica 需看全名,如 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 后 javac 或 java 仍不更新?检查 PATH 冲突

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

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

  • 运行 which java 和 echo $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工具

更多
Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

二狗PPT
二狗PPT Hot

一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

函子Zion

一款支持AI搭建、可视化编辑和多端发布的全栈无代码开发平台。

PixPix
PixPix Hot

PixPix是一款面向电商视觉生产的AI商品图生成工具。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

相关专题

更多
curl_exec
curl_exec

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

3923

2023.06.14

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

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

935

2023.10.30

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

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

17820

2023.12.04

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

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

1263

2024.02.23

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

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

9570

2025.06.11

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

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

3802

2025.08.07

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

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

377

2023.12.07

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

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

5590

2024.08.16

Go-Zero API开发使用教程
Go-Zero API开发使用教程

本专题聚焦Go-Zero的API开发,拆解.api描述文件的语法结构、路由与分组定义、参数绑定与校验规则,说明统一响应体、JWT鉴权、跨域与接口文档生成的落地方式,并给出网关聚合与接口测试的实践建议。

0

2026.11.12

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
dev.java 官方:Learn Java
dev.java 官方:Learn Java

共0课时 | 0人学习

Java JDBC数据库连接官方教程
Java JDBC数据库连接官方教程

共0课时 | 0人学习

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

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn