0

0

在Java中如何使用SDKMAN管理JDK版本_Java开发环境工具说明

P粉602998670

P粉602998670

发布时间:2026-02-01 10:10:15

|

439人浏览过

|

来源于php中文网

原创

SDKMAN可切换JDK版本但不设JAVA_HOME,需手动source初始化脚本;sdk use仅临时改PATH,IDE/构建工具须显式配置真实JDK路径而非current软链。

在java中如何使用sdkman管理jdk版本_java开发环境工具说明

SDKMAN 能可靠地在 Java 开发中切换 JDK 版本,但必须注意它只管理 javajavac 等二进制命令的软链接,不修改系统级 JAVA_HOME 环境变量——这是多数人执行 java -version 正确但 IDE 或构建工具仍报错的根本原因。

安装 SDKMAN 后必须重载 shell 配置

执行 curl -s "https://get.sdkman.io" | bash 后,SDKMAN 的初始化脚本并未自动生效。需要手动加载或新开终端:

source "$HOME/.sdkman/bin/sdkman-init.sh"

否则所有 sdk list javasdk install java 17.0.1-tem 命令都会提示 command not found: sdk。Mac 用户若用 zsh,还需确认 ~/.zshrc 是否已追加该 source 行;Linux Bash 用户检查 ~/.bashrc

sdk installsdk use 的作用范围是当前 shell

sdk install 只下载并解压 JDK 到 ~/.sdkman/candidates/java/ 下对应子目录;sdk use java 17.0.1-tem 才会临时将 ~/.sdkman/candidates/java/current 指向该版本,并更新当前 shell 的 PATH。这意味着:

ClipDrop Relight
ClipDrop Relight

ClipDrop推出的AI图片图像打光工具

下载

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

  • 新开终端后,JDK 回退到 sdk default java 设置的版本(若未设,默认为首次安装的版本)
  • GUI 应用(如 IntelliJ IDEA)启动时不会读取你当前 shell 的 PATH,所以即使终端里 java -version 显示 21,IDE 内部仍可能用错 JDK
  • sdk use 不改变 JAVA_HOME,需手动导出:
    export JAVA_HOME="$HOME/.sdkman/candidates/java/current"

IntelliJ / Maven / Gradle 无法识别 SDKMAN 切换的 JDK

根本问题在于这些工具依赖 JAVA_HOME 或显式配置路径,而非仅靠 PATH。解决方案分场景:

  • IntelliJ:不要依赖 “Use project JDK from PATH”,而是在 Project Structure → Project → Project SDK 中点击 + → Add JDK,定位到 ~/.sdkman/candidates/java/17.0.1-tem(不是 current
  • Maven:在 ~/.mavenrc 中写入
    export JAVA_HOME="$HOME/.sdkman/candidates/java/17.0.1-tem"
    ,避免每次 sdk use 后失效
  • Gradle:在 gradle.properties 中设 org.gradle.java.home=/home/you/.sdkman/candidates/java/21.0.1-tem,路径必须绝对且指向具体版本目录

最易被忽略的是:SDKMAN 的 current 是符号链接,某些旧版 IDE 或 CI 工具会拒绝跟随软链,必须用真实路径。另外,Docker 构建或 CI 流水线中直接用 sdk use 无效,应改用 export JAVA_HOME + export PATH 组合硬编码路径。

热门AI工具

更多
DeepSeek
DeepSeek

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

豆包大模型
豆包大模型

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

通义千问
通义千问

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

腾讯元宝
腾讯元宝

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

文心一言
文心一言

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

讯飞写作
讯飞写作

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

即梦AI
即梦AI

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

ChatGPT
ChatGPT

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

相关专题

更多
Java Maven专题
Java Maven专题

本专题聚焦 Java 主流构建工具 Maven 的学习与应用,系统讲解项目结构、依赖管理、插件使用、生命周期与多模块项目配置。通过企业管理系统、Web 应用与微服务项目实战,帮助学员全面掌握 Maven 在 Java 项目构建与团队协作中的核心技能。

0

2025.09.15

curl_exec
curl_exec

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

441

2023.06.14

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

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

178

2023.10.30

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

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

223

2023.12.07

k8s和docker区别
k8s和docker区别

k8s和docker区别有抽象层次不同、管理范围不同、功能不同、应用程序生命周期管理不同、缩放能力不同、高可用性等等区别。本专题为大家提供k8s和docker区别相关的各种文章、以及下载和课程。

258

2023.07.24

docker进入容器的方法有哪些
docker进入容器的方法有哪些

docker进入容器的方法:1. Docker exec;2. Docker attach;3. Docker run --interactive --tty;4. Docker ps -a;5. 使用 Docker Compose。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

500

2024.04.08

docker容器无法访问外部网络怎么办
docker容器无法访问外部网络怎么办

docker 容器无法访问外部网络的原因和解决方法:配置 nat 端口映射以将容器端口映射到主机端口。根据主机兼容性选择正确的网络驱动(如 host 或 overlay)。允许容器端口通过主机的防火墙。配置容器的正确 dns 服务器。选择正确的容器网络模式。排除主机网络问题,如防火墙或连接问题。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

405

2024.04.08

docker镜像有什么用
docker镜像有什么用

docker 镜像是预构建的软件组件,用途广泛,包括:应用程序部署:简化部署,提高移植性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

441

2024.04.08

2026赚钱平台入口大全
2026赚钱平台入口大全

2026年最新赚钱平台入口汇总,涵盖任务众包、内容创作、电商运营、技能变现等多类正规渠道,助你轻松开启副业增收之路。阅读专题下面的文章了解更多详细内容。

54

2026.01.31

热门下载

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

精品课程

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

共48课时 | 8.2万人学习

Git 教程
Git 教程

共21课时 | 3.2万人学习

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

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