Ubuntu用SDKMAN轻松管理多个Java 版本

 更新时间:2026年07月14日 09:54:24   作者:Moshow郑锴  
本文教你用SDKMAN一键安装和切换AWS Corretto JDK 21与25,临时或全局切换、设置默认版本,操作超简单,感兴趣的可以了解一下

用最简单的方式安装和切换 AWS Corretto JDK 21/25

📦 一、安装 SDKMAN

curl -s "https://get.sdkman.io" | bash 
source "$HOME/.sdkman/bin/sdkman-init.sh"

验证安装:

sdk version

☕ 二、安装 AWS Corretto JDK

安装 JDK 21

sdk install java 21.0.9-amzn

安装 JDK 25

sdk install java 25.0.1-amzn

说明:21.0.9-amzn 中的 amzn 代表 Amazon Corretto 发行版

🔄 三、切换 JDK 版本

临时切换(仅当前终端)

sdk use java 21.0.9-amzn # 切换到 JDK 21
sdk use java 25.0.1-amzn # 切换到 JDK 25

设置全局默认版本

sdk default java 21.0.9-amzn # 默认使用 JDK 21 
sdk default java 25.0.1-amzn # 默认使用 JDK 25

✅ 四、验证

java -version # 查看当前 JDK 版本 
sdk current java # 查看 SDKMAN 当前版本

SDKMAN 会自动配置 JAVA_HOME 和 PATH,无需手动设置!

📋 五、常用命令速查

命令作用
sdk list java查看所有可用 JDK 版本
sdk install java <版本>安装指定版本
sdk use java <版本>临时切换版本
sdk default java <版本>设置全局默认版本
sdk current java查看当前使用的版本
sdk uninstall java <版本>卸载指定版本

🎯 六、完整示例

# 1. 安装 SDKMAN
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
# 2. 安装两个版本的 AWS JDK
sdk install java 21.0.9-amzn
sdk install java 25.0.1-amzn
# 3. 切换测试
sdk use java 25.0.1-amzn
java -version    # 输出 JDK 25
sdk use java 21.0.9-amzn
java -version    # 输出 JDK 21
# 4. 设置默认版本
sdk default java 21.0.9-amzn

❓ 常见问题

Q: 如何知道 AWS JDK 的最新版本号?

sdk list java | grep amzn

Q: 切换后 java -version 没变化?

exec $SHELL -l # 重新加载 shell

Q: 如何卸载某个版本?

sdk uninstall java 21.0.9-amzn

搞定!现在你可以轻松在 JDK 21 和 25 之间自由切换了 🎉

到此这篇关于Ubuntu用SDKMAN轻松管理多个Java 版本的文章就介绍到这了,更多相关SDKMAN管理多个Java 版本内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java MCP 鉴权设计与实现指南(完整示例)

    Java MCP 鉴权设计与实现指南(完整示例)

    MCP鉴权为大语言模型集成提供安全机制,涵盖服务端过滤器、注解及客户端Basic、Header、QueryString等方式,适配不同通信通道与框架,需遵循最佳实践保障安全性,本文给大家介绍Java MCP 鉴权设计与实现指南,感兴趣的朋友一起看看吧
    2025-07-07
  • springAOP的三种实现方式示例代码

    springAOP的三种实现方式示例代码

    这篇文章主要介绍了springAOP的三种实现方式,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • java自定注解完整示例代码

    java自定注解完整示例代码

    Java注解是一种元数据,可以提供有关程序代码的额外信息,它们可以用于标记类、方法、字段等元素,它允许我们在源代码中嵌入元数据这篇文章主要介绍了java自定注解的相关资料,需要的朋友可以参考下
    2026-01-01
  • Java使用OpenCV3.2实现视频读取与播放

    Java使用OpenCV3.2实现视频读取与播放

    这篇文章主要为大家详细介绍了Java使用OpenCV3.2实现视频读取与播放,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-07-07
  • Java中的各种list有什么区别及list和set区别详析

    Java中的各种list有什么区别及list和set区别详析

    List是Java集合框架中使用频率比较高的一个接口,它的特点是存储的数据是有序的并且数据是可以重复的,这篇文章主要介绍了Java中各种list有什么区别及list和set区别的相关资料,需要的朋友可以参考下
    2026-06-06
  • Eclipse插件开发实现控制台输出信息的方法

    Eclipse插件开发实现控制台输出信息的方法

    今天小编就为大家分享一篇关于Eclipse插件开发实现控制台输出信息的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • MyBatis中一级缓存和二级缓存的区别

    MyBatis中一级缓存和二级缓存的区别

    MyBatis提供了两级缓存机制,一级缓存和二级缓存,本文主要介绍了MyBatis中一级缓存和二级缓存的区别,具有一定的参考价值,感兴趣的可以了解一下
    2024-07-07
  • Springmvc conver实现原理及用法解析

    Springmvc conver实现原理及用法解析

    这篇文章主要介绍了Springmvc conver实现原理及用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • SpringBoot中spring.profiles.active配置实现多环境区分

    SpringBoot中spring.profiles.active配置实现多环境区分

    本文介绍了在SpringBoot项目中通过命名约定、启动参数和@Profile注解实现不同环境配置文件的切换,以及如何根据环境动态执行代码,具有一定的参加的参考价值,感兴趣的可以了解一下
    2025-07-07
  • Java三目运算符的实战案例

    Java三目运算符的实战案例

    三目运算符在java中运用可以说非常的广泛,下面这篇文章主要给大家介绍了关于Java三目运算符的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-09-09

最新评论