可通过手动配置环境变量、使用SDKMAN!、jenv或Windows脚本管理JDK版本;推荐SDKMAN!和jenv实现快速切换与项目级版本控制,保持路径清晰避免混乱。

在Java开发中,经常需要在多个JDK版本之间切换,比如测试代码兼容性或适配不同项目需求。虽然Java本身没有内置的版本管理工具,但可以通过命令行结合系统环境变量和第三方工具高效管理JDK版本。
1. 手动配置环境变量切换JDK
最基础的方式是通过修改JAVA_HOME和更新PATH来切换JDK版本。
操作步骤:
- 将不同JDK安装到固定目录,例如:
- /usr/lib/jvm/jdk-8
- /usr/lib/jvm/jdk-17
- /usr/lib/jvm/jdk-21 - 编辑shell配置文件(如~/.bashrc或~/.zshrc),添加函数快速切换:
export JAVA_HOME=/usr/lib/jvm/jdk-$1
export PATH=$JAVA_HOME/bin:$PATH
}
使用时执行switch_jdk 17即可切换到JDK 17。
立即学习“Java免费学习笔记(深入)”;
2. 使用SDKMAN! 管理JDK(推荐Linux/macOS)
SDKMAN! 是一个强大的命令行工具,用于管理多个软件开发套件,包括JDK。
睿拓智能网站系统-睿拓企业网站系统1.2免费版软件大小:6M运行环境:asp+access本版本是永州睿拓信息企业网站管理系统包括了企业网站常用的各种功能,带完整的后台管理系统,本程序无任何功能限制下载即可使用,具体功能如下。1.网站首页2.会员注册3.新闻文章模块4.产品图片展示模块5.人才招聘模块6.在线留言模块7.问卷调查模块8.联系我们模块9.在线QQ客服系统10.网站流量统计系统11.后
安装与使用:
- 安装SDKMAN!:
- 重启终端或运行:
- 查看可用JDK版本:
- 安装指定版本(例如Amazon Corretto 17):
- 全局切换版本:
- 设置默认版本:
3. 使用jenv(macOS/Linux)
jenv 是专为Java设计的版本管理工具,支持按项目设置JDK版本。
安装与配置:
- 通过Homebrew安装(macOS):
- 初始化jenv:
echo 'eval "$(jenv init -)"' >> ~/.zshrc
- 添加JDK版本:
jenv add /Library/Java/JavaVirtualMachines/openjdk-17.jdk/Contents/Home
- 查看已添加版本:
- 设置全局版本:
- 在项目目录中设置本地版本:
jenv local 1.8
4. Windows上的JDK管理
Windows没有原生包管理器,但可通过以下方式简化切换:
- 使用批处理脚本快速切换JAVA_HOME和PATH。
- 借助Chocolatey或Scoop安装多个JDK:
scoop install openjdk8 openjdk17
- 通过setx命令修改环境变量(需管理员权限):
setx PATH "%JAVA_HOME%\bin;%PATH%"
基本上就这些。选择哪种方式取决于操作系统和个人习惯。SDKMAN! 和 jenv 更适合开发者日常使用,手动配置则适用于简单场景或受限环境。关键是保持JDK路径清晰,避免版本混乱。









