System.getenv("TEST_HOME") 返回 null

System.getenv("TEST_HOME") is returning null

我正在 ubuntu 14.0.4 机器上工作。

我使用

在我的 .bashrc 文件中导出了一个变量 TEST_HOME
export TEST_HOME=/home/dev/code/test

当我从终端尝试 echo $TEST_HOME 时,它返回 /home/dev/code/test

到目前为止,还不错。

When I try from Java code :

String value = System.getenv("TEST_HOME");

value is null.

我是不是漏掉了什么?

.bashrc 中提及变量仅适用于从 shell 开始的程序。对于系统范围的环境变量,请在 /etc/environment.

中提及它

参考Ubuntu Environment variables

.bashrc 只会为 bash shell 设置环境变量。要在系统范围内设置它,请在 /etc/environment 文件中设置它。

由于您使用的是 eclipse,并且它不在 bash shell 内 运行,因此它没有获取您正在设置的变量。如果你 运行 你的程序在你的终端中使用 java 命令行那么它应该得到它。

/etc/environment 中设置变量将使其可用于 eclipse。更新 /etc/environment.

后,您将需要重新启动计算机