安装好JDK后,如果你在终端输入 java --version 命令,按回车键后,提示"不是内部或外部命令",这个时候需要设置下环境变量。
一、配置环境变量
【步骤一】打开环境变量设置界面
方法1:快捷键 Win + R → 输入 sysdm.cpl → 回车 → 选择"高级"选项卡 → 点击"环境变量"

方法2:右键"此电脑" → 属性 → 高级系统设置 → 环境变量
方法3:Win + S 搜索"编辑系统环境变量" → 点击打开
【步骤二】新建 JAVA_HOME 变量
在"系统变量"区域:
text
┌─────────────────────────────────────────┐
│ 点击【新建】 │
│ 变量名:JAVA_HOME │
│ 变量值:D:\Java\jdk-21 │
│ (填写你实际的JDK安装路径) │
└─────────────────────────────────────────┘
图片示例: 
注意:变量值填JDK的根目录,不要加\bin
【步骤三】编辑 Path 变量
在"系统变量"中找到 Path,双击打开:
text
┌─────────────────────────────────────────┐
│ 点击【新建】,添加以下内容: │
│ %JAVA_HOME%\bin │
└─────────────────────────────────────────┘
图片示例: 
建议将此条目移动到列表靠前的位置,避免与其他Java版本冲突。
【步骤四】(可选)配置 CLASSPATH
现代JDK(JDK 9+)通常不需要手动配置CLASSPATH。如果需要,可以新建系统变量:
text
┌─────────────────────────────────────────┐
│ 变量名:CLASSPATH │
│ 变量值:.;%JAVA_HOME%\lib │
└─────────────────────────────────────────┘
注意:最前面的 . 表示当前目录,不要遗漏。
【步骤五】保存并验证
- 依次点击"确定"保存所有设置
- 重新打开一个 CMD 或 PowerShell 窗口(必须新开!)
- 输入以下命令验证:
bash
java --version
预期输出:
text
java version "21.0.x" 202x-xx-xx LTS
Java(TM) SE Runtime Environment (build 21.0.x+xx-xx)
Java HotSpot(TM) 64-Bit Server VM (build 21.0.x+xx-xx, mixed mode)
然后再输入:
bash
javac --version
预期输出:
text
javac 21.0.x
如果两个命令都正确输出版本号,说明配置成功!
二、环境变量说明
| 变量名 | 作用 |
|---|---|
| JAVA_HOME | 指向JDK的安装根目录;方便其他变量引用,也被很多工具依赖 |
| Path | 添加 %JAVA_HOME%\bin;让系统在任意目录都能找到java/javac命令 |
| CLASSPATH | 指定类文件的搜索路径(JDK9+可不配置) |
三、常见问题排查
text
问题1:输入java --version提示"不是内部或外部命令"
→ 检查Path中是否正确添加了 %JAVA_HOME%\bin
→ 检查JAVA_HOME的路径是否正确(路径下应有bin文件夹)
→ 确认已重新打开命令行窗口
问题2:java --version和javac --version版本不一致
→ Path中可能存在多个Java路径,将新配置的移到最前面
→ 删除Path中旧的Java路径
问题3:JAVA_HOME路径含空格(如Program Files)
→ 在Path中使用 "%JAVA_HOME%\bin"(加双引号)
→ 或将JDK安装到无空格路径,如 D:\Java\jdk-21
问题4:PowerShell中验证配置
> $env:JAVA_HOME # 查看JAVA_HOME的值
> $env:Path -split ";" # 查看Path所有条目
四、多版本JDK切换
如果需要安装多个JDK版本:
-
分别安装到不同目录:
- D:\Java\jdk-17
- D:\Java\jdk-21
- ...
-
切换时只需修改JAVA_HOME的值指向对应版本目录
-
或者使用工具如 jenv(需额外安装)来管理多版本
五、总结
配置Java环境变量的核心三步:
- 设置 JAVA_HOME → JDK安装路径
- 编辑 Path → 添加 %JAVA_HOME%\bin
- 验证 → 终端输入 java --version 或 javac --version 命令
配置完成后,就可以在任意目录下编译和运行Java程序了!