一、为什么要安装多个 JDK 版本?
- 兼容不同项目需求,不同项目可能依赖不同版本的 JDK。
- 测试和开发需要对比不同版本的表现。
- 兼顾老项目和新项目的并存。
二、准备工作
- 访问 Oracle 官网或 OpenJDK 官网下载需要的 JDK 版本压缩包或安装包。
- Windows 用户一般下载
.exe
安装程序或.zip
压缩包。 - Linux/macOS 用户通常使用
.tar.gz
或通过包管理器安装。
三、安装多个 JDK 版本
1. Windows 系统
- 下载不同版本的 JDK 安装包。
- 依次安装,不要覆盖安装路径,安装时指定不同目录,例如:
C:\Java\jdk1.8.0_361
C:\Java\jdk-11.0.17
C:\Java\jdk-17.0.5
2. Linux/macOS 系统
- 手动解压安装包到不同目录,如:
/usr/local/java/jdk1.8.0_361 /usr/local/java/jdk-11.0.17 /usr/local/java/jdk-17.0.5
- 或使用包管理器安装多个版本(视发行版而定)。
四、配置环境变量及切换 JDK
1. Windows 系统配置切换
配置环境变量
- 右键“此电脑”→“属性”→“高级系统设置”→“环境变量”
- 新建或修改系统变量:
JAVA_HOME
设置为当前JDK路径,如C:\Java\jdk-11.0.17
- 修改
Path
变量,添加%JAVA_HOME%\bin
切换 JDK 版本
- 修改系统变量
JAVA_HOME
指向想使用的 JDK 目录。 - 也可以写一个批处理脚本快速切换,例如:
@echo off
set JAVA8=C:\Java\jdk1.8.0_361
set JAVA11=C:\Java\jdk-11.0.17
if "%1"=="8" (
setx JAVA_HOME "%JAVA8%" /M
echo Switched to JDK 8
) else if "%1"=="11" (
setx JAVA_HOME "%JAVA11%" /M
echo Switched to JDK 11
) else (
echo Usage: switchjdk.bat [8|11]
)
pause
运行 switchjdk.bat 8
即可切换。
2. Linux/macOS 系统配置切换
临时切换(当前终端有效)
export JAVA_HOME=/usr/local/java/jdk-11.0.17
export PATH=$JAVA_HOME/bin:$PATH
java -version
永久切换(编辑 ~/.bashrc
或 ~/.zshrc
)
# JDK 8
export JAVA8_HOME=/usr/local/java/jdk1.8.0_361
# JDK 11
export JAVA11_HOME=/usr/local/java/jdk-11.0.17
# 默认 JDK
export JAVA_HOME=$JAVA11_HOME
export PATH=$JAVA_HOME/bin:$PATH
使用脚本快速切换
创建 switchjdk.sh
:
#!/bin/bash
if [ "$1" = "8" ]; then
export JAVA_HOME=$JAVA8_HOME
echo "Switched to JDK 8"
elif [ "$1" = "11" ]; then
export JAVA_HOME=$JAVA11_HOME
echo "Switched to JDK 11"
else
echo "Usage: source switchjdk.sh [8|11]"
fi
export PATH=$JAVA_HOME/bin:$PATH
使用时运行:
source switchjdk.sh 8
注意用 source
命令使变量在当前shell生效。
五、验证切换结果
java -version
javac -version
echo $JAVA_HOME # Windows用 echo %JAVA_HOME%
确保输出版本符合预期。
六、IDE中配置JDK版本
- IntelliJ IDEA
进入File -> Project Structure -> Platform Settings -> SDKs
添加多个 JDK,项目中选择需要的版本。 - Eclipse
进入Window -> Preferences -> Java -> Installed JREs
添加多个 JDK,项目属性中指定使用的JRE。
七、总结
步骤 | 说明 |
---|---|
下载JDK | 官网下载安装包或压缩包 |
安装/解压 | 不同目录安装,避免覆盖 |
配置环境变量 | 设置JAVA_HOME和Path |
版本切换 | 通过环境变量修改,或用脚本自动化切换 |
IDE配置 | 配置多版本JDK,项目选择对应版本 |
验证 | java -version 和 javac -version |
八、额外技巧
- 使用第三方工具
jEnv
(macOS/Linux)管理JDK版本。 - Windows 下可用
SDKMAN!
(通过WSL环境)或手动脚本管理。 - Docker容器中可分别定制不同JDK环境。
如果你需要,我还能帮你写:
- Windows/Linux切换JDK的批处理和Shell脚本
- 不同IDE详细JDK配置教程
- jEnv工具使用指南
告诉我就行!
发表回复