必须手动配置JAVA_HOME指向JDK17解压根目录并将%JAVA_HOME%\bin置顶加入Path系统变量,否则Maven、Tomcat、IntelliJ等工具会因找不到SDK或调用旧版javac而失败;需解压至无中文无空格路径,确认bin目录直属于根目录,且删除Path中所有旧JDK硬编码路径。

要在Windows10上让Maven、Tomcat、IntelliJ等工具正确识别JDK17,必须手动配置JAVA_HOME指向解压后的根目录,并将%JAVA_HOME%\bin精确加入Path顶部——只靠安装程序自动配置或只设java -version可用,会导致javac报错、IDE找不到SDK、构建工具启动失败。
确认JDK17已解压且路径合规
将下载的jdk-17.0.10_windows-x64_bin.zip解压到非中文、无空格路径,例如E:\Env\JDK\jdk-17.0.10;不要放在C:\Program Files\Java这类含空格目录下,否则后续工具读取JAVA_HOME时可能截断路径。
打开该目录,确认里面包含bin、lib、jmods等文件夹——【bin文件夹必须直接位于该目录下,不可再套一层】。
新建JAVA_HOME系统变量
右键“此电脑”→属性→高级系统设置→环境变量→在“系统变量”区域点击“新建”。
立即学习“Java免费学习笔记(深入)”;
变量名输入:JAVA_HOME;变量值输入:你刚才解压出的完整路径,例如E:\Env\JDK\jdk-17.0.10(注意结尾不加反斜杠,也不包含bin)。
点击确定。这一步必须设在「系统变量」里,设在用户变量中,Maven和Gradle脚本将无法读取。
编辑Path变量并置顶%JAVA_HOME%\bin
在同一个“环境变量”窗口的“系统变量”区域,找到名为Path的变量,选中后点击“编辑”。
点击“新建”,输入:%JAVA_HOME%\bin。
用鼠标左键按住这一行,拖拽至列表最上方——【必须置顶,否则若系统里残留旧版JDK硬编码路径(如C:\jdk8\bin),会优先调用旧版javac导致编译失败】。
删除Path中所有其他以jdk、jre、Java开头的硬编码路径,尤其是带jre\bin的条目(JDK17已移除独立JRE,该路径必然失效)。
连续点击“确定”关闭所有窗口。
验证配置是否生效
彻底关闭所有已打开的CMD/PowerShell窗口,重新打开一个命令行。
依次执行以下三步:
① 输入 echo %JAVA_HOME% → 确认输出路径与你设置的完全一致,不能为空或显示%JAVA_HOME%字样;
② 输入 where javac → 输出唯一一行,且路径以你设置的JAVA_HOME开头;
③ 输入 javac -version → 显示javac 17.0.10(版本号需与你安装的一致)。


















