System.getenv(“TEST_HOME”)返回null

时间:2016-03-29 07:15:47

标签: java environment-variables system-variable

我正在使用ubuntu 14.0.4计算机。

我使用

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

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

到目前为止,非常好。

  

当我尝试使用Java代码时:

     

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

     

value为空。

我在这里错过了什么吗?

2 个答案:

答案 0 :(得分:4)

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

参考Ubuntu Environment variables

答案 1 :(得分:1)

.bashrc仅为bash shell设置环境变量。要将其设置为系统范围,请将其设置为/etc/environment文件。

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

/etc/environment中设置变量会使其可用于eclipse。更新/etc/environment后,您需要重新启动计算机。