You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

新版Maven是否不再需要配置JAVA_HOME环境变量?

Maven 3.5.4+ 无需JAVA_HOME的原因及使用建议

核心结论

  • Maven ≤3.5.3 必须配置JAVA_HOME环境变量才能正常运行
  • Maven ≥3.5.4 无需强制配置JAVA_HOME,但部分场景仍建议配置

为什么3.5.4+不需要JAVA_HOME也能运行?

Maven 3.5.4及后续版本优化了Java运行时的探测逻辑:

  • 不再仅依赖JAVA_HOME,而是直接调用系统PATH中的java命令
  • 通过java -XshowSettings:properties命令自动获取Java运行时的安装路径,替代了之前依赖JAVA_HOME的定位方式

是否还需要配置JAVA_HOME?

虽然3.5.4+版本不强制要求,但以下场景建议配置:

  • 系统中安装多个Java版本,需要指定Maven使用特定版本时
  • 部分第三方Maven插件或自定义构建脚本依赖JAVA_HOME环境变量时
  • 老旧CI/CD环境或传统构建工具仍依赖JAVA_HOME定义时

版本输出差异对比

Maven ≤3.5.3(需JAVA_HOME)执行mvn -version输出:

Apache Maven 3.5.3 (f9f2937f9f29f9f293df5050c2f9f29f9f295297; 2018-02-24T21:49:05+02:00)
Maven home: C:\apache-maven-3.5.3\bin\..
Java version: 1.8.0_251, vendor: Oracle Corporation
Java home: c:\jdk1.8.0_251\jre
Default locale: en_US, platform encoding: Cp1252
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"

Maven ≥3.5.4(无JAVA_HOME)执行mvn -version输出:

Apache Maven 3.6.0 (11c987ce5ffb2f3e7767ce5ffb20915ffb20c987; 2018-10-24T21:41:47+03:00)
Maven home: C:\apache-maven-3.6.0-bin\bin\..
Java version: 1.8.0_251, vendor: Oracle Corporation, runtime: c:\jdk1.8.0_251\jre
Default locale: en_US, platform encoding: Cp1252
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"

注意到3.5.4+版本的输出中,原Java home字段被替换为runtime,这也直观体现了它不再依赖JAVA_HOME,而是直接探测到Java运行时路径的变化。

内容的提问来源于stack exchange,提问作者Giorgi Tsiklauri

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 04:01:45