
文章目录JDK8 JDK17 绿色解压共存方案【全程**不修改任何系统环境变量**】✅ 一、下载Eclipse Temurin免费商用选ZIP绿色包✅ 二、解压部署重点防止多层嵌套✅ 三、使用方式3种全部**不改动系统环境变量**方式1直接写绝对路径最简单推荐临时少量命令方式2临时注入PATH当前终端窗口简写java关闭窗口失效不改系统方式3一键启动对应JDK终端脚本推荐最舒服脚本1StartJdk17.bat脚本2StartJdk8.bat✅ 四、IDEA开发使用强烈推荐IDE不依赖系统环境变量✅ 五、卸载✅ 六、优缺点总结✅ 七、常见坑✅ 八、Maven/Gradle使用补充不设置系统环境变量JDK8 JDK17 绿色解压共存方案【全程不修改任何系统环境变量】核心不新建JAVA_HOME、不改动Path纯绿色解压不写注册表两个JDK完全隔离互不冲突。存放根目录D:\data\envJDK8D:\data\env\jdk8JDK17D:\data\env\jdk17✅ 一、下载Eclipse Temurin免费商用选ZIP绿色包官网https://adoptium.net/zh-CN/temurin/releasesVersion8 / 17OSWindowsPackageJDK不要JREJRE无javacArchx64文件类型ZIP直链JDK17 Windows x64 ZIPhttps://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.20.11/OpenJDK17U-jdk_x64_windows_hotspot_17.0.20.1_1.zipJDK8 Windows x64 ZIPhttps://github.com/adoptium/temurin8-binaries/releases/download/jdk8u422-b05/OpenJDK8U-jdk_x64_windows_hotspot_8u422b05.zip✅ 二、解压部署重点防止多层嵌套D盘手动创建文件夹D:\data\env解压zip包取出里面内层jdk文件夹放到env目录下JDK8解压完成后D:\data\env\jdk8\bin\java.exe必须存在JDK17解压完成后D:\data\env\jdk17\bin\java.exe必须存在❌ 错误D:\data\env\jdk17\jdk-17.0.20\bin多层嵌套会导致路径错误。目录树D:\data\env ├─ jdk8 └─ jdk17✅ 三、使用方式3种全部不改动系统环境变量方式1直接写绝对路径最简单推荐临时少量命令直接在CMD/PowerShell写完整路径调用java、javac# 查看JDK17版本 D:\data\env\jdk17\bin\java.exe -version D:\data\env\jdk17\bin\javac.exe -version # 查看JDK8版本 D:\data\env\jdk8\bin\java.exe -version D:\data\env\jdk8\bin\javac.exe -version编译运行示例JDK17编译Hello.javaD:\data\env\jdk17\bin\javac.exe D:\test\Hello.java D:\data\env\jdk17\bin\java.exe D:\test\Hello方式2临时注入PATH当前终端窗口简写java关闭窗口失效不改系统打开CMD执行下面任意一组当前窗口就可以直接敲java关闭CMD自动消失::当前窗口切换为 JDK17 set PATHD:\data\env\jdk17\bin;%PATH% java -version javac -version::当前窗口切换为 JDK8 set PATHD:\data\env\jdk8\bin;%PATH% java -version javac -version方式3一键启动对应JDK终端脚本推荐最舒服在D:\data\env新建2个bat文件双击直接打开一个已经加载好对应JDK的CMD窗口完全不修改系统脚本1StartJdk17.batecho off chcp 65001 set PATHD:\data\env\jdk17\bin;%PATH% echo echo 当前终端已加载 JDK17 echo 关闭窗口就失效不修改系统环境变量 echo cmd脚本2StartJdk8.batecho off chcp 65001 set PATHD:\data\env\jdk8\bin;%PATH% echo echo 当前终端已加载 JDK8 echo 关闭窗口就失效不修改系统环境变量 echo cmd使用双击StartJdk17.bat弹出新CMD直接敲java、javac就是jdk17双击另一个就是jdk8。互不干扰。✅ 四、IDEA开发使用强烈推荐IDE不依赖系统环境变量IDEA项目可以独立指定JDK不受系统任何环境变量影响File → Project Structure → Project SDKAdd SDK → Add JDK选择目录D:\data\env\jdk17或者D:\data\env\jdk8效果项目A用JDK8项目B用JDK17完全隔离。✅ 五、卸载直接删除文件夹D:\data\env\jdk8或者D:\data\env\jdk17因为没有修改系统环境变量无需清理注册表、环境变量。✅ 六、优缺点总结✅ 优点零污染系统不新增JAVA_HOME不改Path随时删除不留垃圾JDK8/JDK17完全隔离永远不会出现版本冲突绿色解压可拷贝整个env文件夹到其他电脑直接使用❌ 缺点不配置全局环境变量新开空白CMD默认无法直接敲java需要用脚本或写绝对路径如果需要在gitbash、maven等工具全局调用java需要单独在工具内配置路径✅ 七、常见坑路径带空格/中文你的D:\data\env无空格中文没问题加引号是好习惯下载成JREJRE没有javac下载必须选JDK多层解压嵌套解压后确认xxx\bin\java.exe直接存在bat脚本乱码脚本第一行chcp 65001解决中文乱码✅ 八、Maven/Gradle使用补充不设置系统环境变量如果用maven修改maven的conf/settings.xml或者在脚本里临时指定JAVA_HOMEecho off chcp 65001 set JAVA_HOMED:\data\env\jdk17 set PATH%JAVA_HOME%\bin;%PATH% cmdmaven读取当前窗口临时JAVA_HOME不会改动系统。