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

使用System.getProperty无法读取指定环境变量XXX_HOME的问题求助

问题解决:无法通过System.getProperty读取自定义环境变量

核心原因

System.getProperty("xxx.home")读取的是JVM系统属性,而非操作系统的环境变量。JAVA_HOME能通过java.home读取,是因为JVM启动时会自动将部分系统环境变量映射为JVM系统属性,但自定义的XXX_HOME不会被自动映射。

可行解决方案(无需修改现有代码)

因为无法修改System.getProperty("xxx.home")这段代码,需要在JVM启动时手动将操作系统环境变量XXX_HOME的值传递为JVM系统属性xxx.home,具体操作如下:

1. 命令行启动程序时

在启动Java程序的命令中添加VM参数:

java -Dxxx.home=%XXX_HOME% 你的主类名

如果是Linux/macOS环境,替换为:

java -Dxxx.home=$XXX_HOME 你的主类名

2. NetBeans项目中配置

打开NetBeans项目的运行配置:

  • 右键项目 → 选择「属性」
  • 切换到「运行」标签页
  • 在「VM选项」输入框中添加:
    -Dxxx.home=${env.XXX_HOME}
    

保存配置后重新运行项目,System.getProperty("xxx.home")就能读取到XXX_HOME的环境变量值了。

内容的提问来源于stack exchange,提问作者William Lee

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 16:32:36