必须配置java_home和path变量;先新建系统变量java_home指向jdk 8根目录(如d:\java\jdk1.8.0_391),再在path中新增%java_home%\bin和%java_home%\jre\bin,跳过classpath,最后用java -version、javac -version和where java验证。

在Windows 11上让命令行能直接运行java和javac命令,必须正确配置JDK 8的环境变量;否则IDE无法识别JDK、Maven编译报错、甚至新建Java项目都会卡在第一步。
确认JDK 8已安装并记下路径
打开文件资源管理器,进入你当初安装JDK 8的目录,例如:【D:\Java\jdk1.8.0_391】。不要用默认C盘Program Files路径——该路径含空格和中文系统目录名,极易导致后续javac命令执行失败。右键地址栏→复制完整路径,粘贴到记事本备用。
若尚未安装,请前往Oracle官网Java Archive页面下载jdk-8u391-windows-x64.exe(需注册账号),安装时取消勾选“安装公共JRE”,避免多套jre冲突。
新建JAVA_HOME系统变量
按下 Win + i → 点击【系统】→ 右侧【高级系统设置】→ 【高级】选项卡 → 【环境变量】。
在【系统变量】区域点击【新建】。
变量名填:JAVA_HOME;变量值填:你刚才复制的JDK根目录(如D:\Java\jdk1.8.0_391),【末尾不加斜杠,也不包含bin子目录】。
点【确定】保存。这一步是后续所有引用的基础,填错会导致PATH失效。
将JDK的bin目录加入Path
在【系统变量】列表中找到名为 Path 的变量,选中后点击【编辑】。
点击【新建】,输入:%JAVA_HOME%\bin
再点一次【新建】,输入:%JAVA_HOME%\jre\bin(JDK 8自带jre,此项必须添加,否则appletviewer等工具无法调用)。
注意:不要把这两行合并成一条,也不要加引号或分号——Windows 11的Path编辑器会自动处理分隔符。
跳过CLASSPATH配置(现代开发无需设置)
方法一:直接忽略CLASSPATH变量,不新建、不填写、不修改。
方法二:如果之前已存在CLASSPATH变量,且值为 .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar,请选中它→点击【删除】。
原因:JDK 8虽支持CLASSPATH,但自IntelliJ IDEA 2020.3、Maven 3.6+、Gradle 6.0起,所有主流工具均自主管理类路径;手动配置反而会在运行时注入重复jar,引发NoClassDefFoundError。
验证配置是否生效
关闭所有已打开的CMD/PowerShell窗口,重新打开一个新的终端。
依次执行以下三行命令:
java -version
javac -version
where java
前三行应分别输出类似“java version "1.8.0_391"”、“javac 1.8.0_391”、“C:\Windows\System32\java.exe”和“【D:\Java\jdk1.8.0_391\bin\java.exe】”——最后一行显示的路径必须与你的JAVA_HOME一致,否则说明Path未生效。











