在Java中如何配置JAVA_HOME变量_Java环境变量设置方法解析

P粉602998670

P粉602998670

2026-01-27

593人浏览

原创

java_home必须指向jdk根目录(如c:\program files\java\jdk-17.0.1或/usr/lib/jvm/java-17-openjdk-amd64),不可指向bin或jre子目录,否则maven等工具会因无法识别jdk而启动失败。

在java中如何配置java_home变量_java环境变量设置方法解析

JAVA_HOME 指向哪个目录才正确

JAVA_HOME 必须指向 JDK 的根目录(不是 JRE,也不是 bin 目录),例如:C:\Program Files\Java\jdk-17.0.1(Windows)或 /usr/lib/jvm/java-17-openjdk-amd64(Linux/macOS)。常见错误是把它设成 .../jdk-17.0.1/bin.../jre —— 这会导致 Maven、Gradle、Tomcat 等工具启动失败,报错类似 The JAVA_HOME environment variable is not defined correctly

  • 用命令验证:运行 java -version 后,再执行 where java(Windows)或 which java(macOS/Linux),然后向上推两级目录(JDK 根目录下一定有 binlibjre 等子目录)
  • OpenJDK 安装包解压后直接可用;但某些一键安装版(如 Oracle JDK for Windows)可能默认只装了 JRE,需额外下载并安装完整 JDK
  • 多个 JDK 共存时,JAVA_HOME 只能指向其中一个;切换版本需手动修改该变量,不能靠 PATH 优先级覆盖

Windows 下设置 JAVA_HOME 的三种方式及优先级

Windows 中设置位置不同,生效范围和持久性差异很大。最稳妥的是系统环境变量方式,避免 IDE 或命令行终端读不到。

ApiPost接口调试与文档生成工具
ApiPost接口调试与文档生成工具

ApiPost是一个支持团队协作,支持模拟POST、GET、PUT等常见请求,并可直接生成文档的API调试、管理工具,ApiPost是后台接口开发者或前端、接口测试人员的工作必备工具。快速生成、一键导出API文档。感兴趣的朋友快来下载吧。软件说明ApiPost官方版是一款十分出色的接口调试与文档生成工具,ApiPost官方版界面美观大方,功能强劲实用,支持团队协作,支持模拟POST、GET、PUT等常见请求,是后台接口开发者或前端、接口测试人员的工作必备工具。软件特色更方便支持接口调试的同时快速生成、一键

下载
  • 系统属性 → 高级 → 环境变量 → 系统变量 → 新建JAVA_HOME = C:\Program Files\Java\jdk-17.0.1;同时在 PATH 开头追加 %JAVA_HOME%\bin —— 这种方式对所有用户、所有终端(CMD/PowerShell/IDE)都生效
  • 仅在 CMD 中临时设置:set JAVA_HOME=C:\Program Files\Java\jdk-17.0.1 —— 关闭窗口即失效,适合调试
  • PowerShell 中用 $env:JAVA_HOME="C:\Program Files\Java\jdk-17.0.1" —— 仅当前会话有效,且不会被 CMD 继承

macOS / Linux 中 ~/.zshrc 和 /etc/environment 的区别

macOS Catalina 及以后默认 shell 是 zsh,所以改 ~/.zshrc 才能保证终端每次启动都加载;而 /etc/environment 是 Debian/Ubuntu 系统级配置,但部分发行版(如 CentOS)不读它,且不支持变量展开(不能写 PATH="$PATH:$JAVA_HOME/bin")。

  • 推荐做法:在 ~/.zshrc(macOS)或 ~/.bashrc(旧版 Linux)末尾添加:
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
  • 改完必须执行 source ~/.zshrc(或 source ~/.bashrc)才生效;新开终端也会自动加载
  • 不要把 JAVA_HOME 写进 /etc/profile 除非你确定要全局强制统一(多用户服务器场景才需要)

验证 JAVA_HOME 是否生效的可靠方法

别只信 java -version —— 它只反映 PATH 中的 java 命令路径,和 JAVA_HOME 无关。真正检测变量是否被正确识别,得看依赖它的工具行为。

  • 在终端中直接运行:echo $JAVA_HOME(Linux/macOS)或 echo %JAVA_HOME%(Windows CMD)—— 输出应为完整路径,且不能带空格未引号包裹(Windows 路径含空格时,JAVA_HOME 值本身无需引号,但引用处如 %JAVA_HOME%\bin 会自动处理)
  • 运行 mvn -v:输出里必须显示 Java version: 17.0.1Java home: /usr/lib/jvm/java-17-openjdk-amd64 —— 这个 Java home 就来自 JAVA_HOME,不是 java -XshowSettings:properties -version 2>&1 | grep java.home 查到的 JRE 路径
  • IntelliJ IDEA 中:File → Project Structure → Project → Project SDK 应与 JAVA_HOME 一致;否则说明 IDE 没读到该变量(常见于从桌面图标启动,而非终端中执行 idea.sh
很多团队踩过坑:本地 java -version 显示 JDK 17,但 Jenkins 构建报 “Unsupported class file major version 61”,根源就是 CI 机器上 JAVA_HOME 指向了旧版 JDK,而构建脚本没显式指定 java 路径。变量这东西,看不见摸不着,偏偏一错就整条链路崩。

Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南

相关专题

更多
如何配置Tomcat环境变量
如何配置Tomcat环境变量

配置Tomcat环境变量需要在系统中添加CATALINA_HOME变量,并将Tomcat的安装路径添加到PATH变量中。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.26

320

5

idea如何集成Tomcat
idea如何集成Tomcat

idea集成Tomcat的步骤:1、添加Tomcat服务器配置;2、配置项目部署;3、运行Tomcat服务器;4、访问项目;5、注意事项;6、关闭Tomcat服务器。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.02.23

243

5

怎么查看Tomcat源代码
怎么查看Tomcat源代码

查看Tomcat源代码的步骤:1、下载Tomcat源代码;2、在IDEA中导入Tomcat源代码;3、查看源代码;4、理解Tomcat的工作原理;5、参与社区和贡献;6、注意事项;7、持续学习和更新;8、使用工具和插件。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.02.23

384

5

常见的tomcat漏洞有哪些
常见的tomcat漏洞有哪些

常见的tomcat漏洞有:1、跨站脚本攻击;2、跨站请求伪造;3、目录遍历漏洞;4、缓冲区溢出漏洞;5、配置漏洞;6、第三方组件漏洞。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.02.23

222

5

tomcat日志乱码怎么解决
tomcat日志乱码怎么解决

tomcat日志乱码的解决办法:1、修改tomcat的日志编码设置;2、检查ide的编码设置;3、检查操作系统的编码设置;4、使用过滤器处理日志;5、检查外部系统的编码设置;6、检查文件编码方式等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.02.23

285

5

weblogic和tomcat有哪些区别
weblogic和tomcat有哪些区别

weblogic和tomcat的区别:1、功能;2、性能;3、规模;4、价格;5、安全性;6、配置和管理;7、社区支持;8、集成能力;9、升级和更新;10、可靠性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.02.23

306

5

tomcat和nginx有哪些区别
tomcat和nginx有哪些区别

tomcat和nginx的区别:1、应用领域;2、性能;3、功能;4、配置;5、安全性;6、扩展性;7、部署复杂性;8、社区支持;9、成本;10、日志管理。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.02.23

416

5

tomcat启动闪退怎么解决
tomcat启动闪退怎么解决

tomcat启动闪退的解决办法:1、检查java环境;2、检查环境变量配置;3、检查端口被占用;4、检查配置文件编码;5、检查启动时需要的配置文件;6、检查相关文件是否丢失;7、检查防火墙和杀毒软件设置。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.02.23

238

5

有哪些常见的tomcat漏洞
有哪些常见的tomcat漏洞

常见的tomcat漏洞有:1、跨站脚本攻击;2、跨站请求伪造;3、目录遍历漏洞;4、缓冲区溢出漏洞;5、配置漏洞;6、第三方组件漏洞。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.02.23

953

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Java JDBC数据库连接官方教程
Java JDBC数据库连接官方教程

共0课时 | 0人学习

Java 26官方文档
Java 26官方文档

共0课时 | 0人学习

SQL 教程
SQL 教程

共61课时 | 6.1万人学习