一 单独安装oracle jdk 8:
1 Path 环境变量,配置:%JAVA_HOME%\bin
2 Path 环境变量,配置:%JAVA_HOME%\jre\bin
3 JAVA_HOME 环境变量: D:\Program_Files\java\jdk1.8.0_191
4 CLASS_PATH 环境变量: .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
二 单独安装 open jdk 11:
1 进入 D:\Program_Files\java_open_jdk 目录(必须进入该目录,否则生成的jre路径不对),输入创建jre。
D:\Program_Files\java_open_jdk\bin\jlink.exe --module-path jmods --add-modules java.desktop --output jre
2 JAVA_HOME 环境变量: D:\Program_Files\java_open_jdk
3 Path 环境变量,配置: %JAVA_HOME%\bin
4 Path 环境变量,配置: %JAVA_HOME%\jre\bin
5 貌似不用配置 CLASS_PATH
三 一起使用, 修改JAVA_HOME的值实现JDK切换:
1 安装jdk8, 安装过程需要指定jdk, jre安装路径。建议在home目录下,创建jdk, jre两个目录分别安装jdk和jre
2 安装jdk11。 使用上文命令生成jre。
3 创建环境变量: JAVA_HOME_8: D:\Program_Files\java\jdk1.8.0_191
4 创建环境变量: JAVA_HOME_11: D:\Program_Files\java_open_jdk
5 创建环境变量(后续切换jdk版本,修改该值即可): JAVA_HOME: %JAVA_HOME_11%
6 创建 CLASS_PATH 环境变量: .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
7 修改PATH: 配置: %JAVA_HOME%\bin
8 修改PATH: 配置: %JAVA_HOME%\jre\bin
9 修改PATH: 删除 C:\Program Files\Common Files\Oracle\Java\javapath 。 该路径是安装jdk 8 产生的, 并将该路径下的内容(java.exe, javac.exe, javaw.exe, jshell.exe)删除,或移动到别的文件夹备份
附带一个ai生成的切换bat脚本
@echo off :menu cls echo ============================================ echo JDK Switch Tool echo ============================================ echo. echo [1] JDK 8 echo [2] JDK 11 echo [3] JDK 25 echo [0] Exit echo. echo Current JAVA_HOME = %JAVA_HOME% echo ============================================ echo. set /p choice=Select [0-3]: set target= if "%choice%"=="0" exit /b if "%choice%"=="1" set target=JAVA_HOME8 if "%choice%"=="2" set target=JAVA_HOME11 if "%choice%"=="3" set target=JAVA_HOME25 if not defined target ( echo Invalid choice pause goto menu ) REM 持久设置系统环境变量 setx JAVA_HOME "%%%target%%%" /M >nul 2>&1 REM 当前会话也立即生效 call set resolved=%%%target%%% set "JAVA_HOME=%resolved%" echo. echo ============================================ echo JAVA_HOME = %%%target%%% echo Resolved = %resolved% echo ============================================ echo. echo Java Version: "%resolved%\bin\java.exe" -version echo. echo Open a new terminal to take effect echo ============================================ echo. pause四 参考 安装多JDK环境 JDK1.8和OpenJDK11的安装配置和Maven配置