我正在使用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
为空。
我在这里错过了什么吗?
答案 0 :(得分:4)
在.bashrc
中提及变量仅适用于从shell启动的程序。对于系统范围的环境变量,请在/etc/environment
中提及。
答案 1 :(得分:1)
.bashrc
仅为bash shell设置环境变量。要将其设置为系统范围,请将其设置为/etc/environment
文件。
由于您正在使用eclipse,并且它不在bash shell中运行,因此它无法获取您正在设置的变量。如果您在终端中使用java命令行运行程序,那么它应该得到它。
在/etc/environment
中设置变量会使其可用于eclipse。更新/etc/environment
后,您需要重新启动计算机。