一、为什么要安装多个 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工具使用指南

告诉我就行!