- 在任何目录下都能使用 Java 命令:
javac、java、jar等,而无需每次都输入完整的安装路径。 - 让其他程序找到 Java:你的 IDE(如 IntelliJ IDEA、Eclipse)、Web 服务器(如 Tomcat)或构建工具(如 Maven、Gradle)需要知道 Java 安装在哪里才能正常工作。
- 设置 Java 运行时的参数:如堆内存大小等(但这通常是针对特定应用的,不是基础配置)。
我们将配置两个核心的环境变量:JAVA_HOME 和 Path。

第一步:准备工作(获取 Java 安装路径)
在配置之前,你必须已经安装了 Java 开发工具包,如果你还没有安装,请先从 Oracle 官网 下载并安装。
-
打开命令提示符(CMD)或 PowerShell:
- 按下
Win + R键,输入cmd或powershell,然后按回车。
- 按下
-
查找 Java 安装路径: 在命令行窗口中输入以下命令之一,然后按回车,这会列出所有 Java 的安装路径。
# 对于 CMD where java # 对于 PowerShell Get-Command java | Select-Object -ExpandProperty Source
你会看到类似下面的输出:
(图片来源网络,侵删)C:\Program Files\Java\jdk-17.0.2\bin\java.exe C:\Program Files\Common Files\Oracle\Java\javapath\java.exe- 重要提示:通常会有两个结果,第一个是 JDK 的实际安装路径(如
C:\Program Files\Java\jdk-17.0.2),第二个是 Windows 自带的快捷方式路径(C:\Program Files\Common Files\Oracle\Java\javapath),它通常指向一个较旧或默认的 Java 版本。 - 我们需要的是 JDK 的主目录,也就是去掉末尾
\bin的那部分,在上面的例子中,C:\Program Files\Java\jdk-17.0.2,这个路径就是我们后面要设置的JAVA_HOME的值。
- 重要提示:通常会有两个结果,第一个是 JDK 的实际安装路径(如
第二步:配置环境变量
现在我们知道了 Java 的安装路径,开始配置环境变量。
-
打开“编辑系统环境变量”:
- 在 Windows 搜索栏中搜索 “编辑系统环境变量” 并打开它。
- 或者,右键点击 “此电脑” -> “属性” -> “高级系统设置” -> “环境变量”。
-
配置
JAVA_HOME:JAVA_HOME是一个自定义变量,它指向 JDK 的根目录,这是一种最佳实践。- 在 “系统变量” 区域,点击 “新建...”。
- 变量名:输入
JAVA_HOME(全大写,没有空格)。 - 变量值:粘贴你刚才找到的 JDK 根目录路径(
C:\Program Files\Java\jdk-17.0.2)。 - 点击 “确定” 保存。
-
配置
Path变量:Path变量是 Windows 查找可执行文件的路径列表,我们需要把 JDK 的bin目录添加到这个列表中。- 在 “系统变量” 区域,找到并选中
Path变量,然后点击 “编辑...”。 - 在弹出的窗口中,点击 “新建”。
- 输入
%JAVA_HOME%\bin,这里的%JAVA_HOME%是一个引用,它会自动替换成你刚才设置的JAVA_HOME变量的值,这样做的好处是,如果你以后更换了 JDK 版本,只需要修改JAVA_HOME的值即可,无需再修改Path。 - 重要:确保这一行在列表的上方,这样系统会优先使用你配置的 JDK,而不是系统自带的旧版本 Java。
- 点击 “确定” 保存。
- 在 “系统变量” 区域,找到并选中
-
完成所有窗口: 依次点击所有打开的窗口的 “确定” 或 “应用”,以保存所有更改。
第三步:验证配置
配置完成后,必须打开一个新的命令提示符窗口来验证,因为旧的窗口不会加载新的环境变量。
-
打开一个新的 CMD 或 PowerShell。
-
验证
JAVA_HOME: 输入以下命令,应该会输出你设置的 JDK 路径。echo %JAVA_HOME%
输出应为:
C:\Program Files\Java\jdk-17.0.2 -
验证 Java 版本: 输入以下命令,检查是否能识别 Java。
java -version
如果配置成功,你会看到类似下面的信息,显示你安装的 Java 版本。
java version "17.0.2" 2025-01-18 Java(TM) SE Runtime Environment (build 17.0.2+8-86) Java HotSpot(TM) 64-Bit Server VM (build 17.0.2+8-86, mixed mode, sharing) -
验证 Java 编译器: 输入以下命令,检查编译器是否可用。
javac -version
输出应为:
javac 17.0.2
如果以上所有命令都执行成功并返回了正确的结果,那么恭喜你,Java 环境变量已经配置成功了!
常见问题与解决方法
问题1:'java' 不是内部或外部命令,也不是可运行的程序或批处理文件。
- 原因:
Path变量中没有正确添加 Java 的bin目录,或者路径添加错误。 - 解决:重新检查
Path变量的配置,确保路径是正确的,并且没有拼写错误。
问题2:java -version 和 javac -version 版本不一致。
- 原因:
Path变量中存在多个 Java 版本的路径,并且系统找到了错误的那个。Path列表中C:\Program Files\Common Files\Oracle\Java\javapath在你配置的%JAVA_HOME%\bin之前。 - 解决:编辑
Path变量,将%JAVA_HOME%\bin这一行拖到列表的最顶部。
问题3:echo %JAVA_HOME% 输出为空。
- 原因:
JAVA_HOME变量没有被创建,或者名称拼写错误。 - 解决:重新检查
JAVA_HOME变量的创建过程,确保变量名和值都正确无误。
为什么需要 JAVA_HOME 而不仅仅是 Path?
这是一个非常好的问题,虽然只配置 Path 也能让 java 和 javac 命令可用,但强烈推荐同时配置 JAVA_HOME,原因如下:
- 标准化:许多应用程序(如 Tomcat、Maven、Spring Boot 等)在启动时会去查找
JAVA_HOME环境变量,如果设置了它们就能直接使用,否则需要用户手动配置,非常麻烦。 - 可维护性:当你需要切换 Java 版本时(例如从 JDK 11 切换到 JDK 17),你只需要:
- 安装新的 JDK。
- 修改
JAVA_HOME的值指向新版本。 - 无需动
Path变量。 这大大简化了版本管理的流程。
卸载或更换 JDK 时的注意事项
- 卸载旧 JDK:通过 Windows 的 “应用和功能” 卸载旧的 JDK。
- 更新环境变量:如果旧 JDK 的路径还在
Path或JAVA_HOME中,请手动删除或更新它们,指向你新的 JDK 路径。 - 重启 IDE:如果你在使用 IDE,重启 IDE 以让它重新加载环境变量,识别新的 JDK。
