Java多JDK配置核心是“分装、分存、分指、可切”:各版本独立安装、路径清晰、环境变量隔离、切换灵活,通过专用变量(如JAVA_HOME_8)、动态PATH引用及sdkman等工具实现高效版本管理。

Java 中配置多个 JDK 版本,核心是“分装、分存、分指、可切”——每个版本独立安装、路径清晰、环境变量隔离、切换灵活。不需要卸载旧版,也不用反复重装,关键是避免 PATH 冲突和 JAVA_HOME 错位。
一、分别安装不同版本 JDK
下载推荐使用 Adoptium(Eclipse Temurin) 或 Oracle OpenJDK 官方包,避免第三方打包版兼容问题。安装时注意:
- Windows:选择自定义路径,例如
C:\java\jdk-8、C:\java\jdk-21、C:\java\jdk-25,路径中不要含中文或空格 - macOS:Homebrew 用户可执行
brew install temurin8 temurin21 temurin25,自动部署到/opt/homebrew/opt/temurin*/libexec/openjdk.jdk - Linux:建议解压至
/usr/lib/jvm/下,如/usr/lib/jvm/java-8-temurin,并确保权限为755
二、设置版本专用环境变量
不直接修改 JAVA_HOME,而是为每个版本创建独立变量,作为“锚点”:
- Windows 系统变量中新建:
JAVA_HOME_8→C:\java\jdk-8JAVA_HOME_21→C:\java\jdk-21JAVA_HOME_25→C:\java\jdk-25 - macOS/Linux 在
~/.zshrc或~/.bash_profile中添加:export JAVA_HOME_8=/Library/Java/JavaVirtualMachines/jdk-8.jdk/Contents/Homeexport JAVA_HOME_21=/Library/Java/JavaVirtualMachines/jdk-21.jdk/Contents/Home
之后再新建一个主变量 JAVA_HOME,值设为 %JAVA_HOME_8%(Windows)或 $JAVA_HOME_8(macOS/Linux),它就是你当前默认使用的版本。
立即学习“Java免费学习笔记(深入)”;
三、配置 PATH 并启用切换
PATH 中只保留一条动态引用:
Windows Path 变量里写入:%JAVA_HOME%\bin
macOS/Linux PATH 中写入:$JAVA_HOME/bin
这样只要改 JAVA_HOME 指向哪个“锚点”,java -version 就自动生效。实际切换方式如下:
- Windows:新建
jdk8.bat文件,内容为
@echo off<br>set JAVA_HOME=%JAVA_HOME_8%<br>set PATH=%JAVA_HOME%\bin;%PATH%<br>java -version
运行后该窗口即使用 JDK 8;其他窗口不受影响 - macOS/Linux:在终端中执行
source ~/.zshrc && jdk8(需提前定义别名alias jdk8='export JAVA_HOME=$JAVA_HOME_8; export PATH=$JAVA_HOME/bin:$PATH')
四、用工具替代手动切换(推荐)
长期多版本开发,手动改变量效率低且易出错,建议使用专业管理工具:
-
sdkman(macOS/Linux):
执行curl -s "https://get.sdkman.io" | bash安装,然后sdk install java 8.0.412-tem、sdk install java 25.0.1-tem,再用sdk use java 8.0.412-tem即刻切换 -
Jabba(跨平台):
类似 nvm,支持 Windows/macOS/Linux,命令简洁:jabba install openjdk@1.8、jabba use openjdk@25 -
IDE 内置支持(IntelliJ / Eclipse):
每个项目可单独指定 Project SDK,与系统 JDK 解耦;Maven/Gradle 也可通过toolchains.xml或java-toolchains插件绑定编译版本


















