Java程序无法获取环境变量mac

时间:2015-01-29 23:09:43

标签: java macos environment-variables osx-mavericks

我看了几个相关链接,例如this,但我的java程序似乎无法选择/.bashrc中定义的环境变量,/.bash_profile

这是我的bash_profile(bashrc是相同的)

export JBOSS_HOME=/Applications/whp-jboss-cluster-5
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_60.jdk/Contents/Home/
export FDP_HOME=/Users/kodeseeker/Project/git_intuit/
export TOMCAT_HOME=/Library/Tomcat/
export GIT_HOME=/Users/kodeseeker/Project/git_intuit
export MULE_HOME=/usr/local/mule/mule-enterprise-standalone-3.6.0-M2



echo $MULE_HOME returns 
/usr/local/mule/mule-enterprise-standalone-3.6.0-M2 as well. 

但打印

 Map<String, String> env = System.getenv();
        for (String envName : env.keySet()) {
            System.out.println(
                              envName + " "+ 
                              env.get(envName));
        }
        System.out.println("****");
        System.out.println(env.get("MULE_HOME"));// returns null. 

两者都使用相同的shell 从输出中看日食:

SHELL /bin/bash
APP_ICON_12441 ../Resources/Eclipse.icns
TMPDIR /var/folders/jc/bpc8py6s47jftq8mny923n4r5jfsj2/T/

echo $SHELL
/bin/bash

我已经尝试退出,重新启动终端等但无济于事。任何见解或链接将不胜感激。

1 个答案:

答案 0 :(得分:1)

当eclipse启动程序时,

.bashrc.bash_profile不会被考虑,因为这些文件是为交互式shell使用的设置而设计的。

要使变量对eclipse可见,请导航至

  

运行 - &gt;运行配置

选择环境选项卡,然后添加变量。

另一种方法是创建一个文件(或编辑,如果它已经存在)/etc/launchd.conf并在此文件中设置变量,例如:

setenv MY_VARIABLE MY_VALUE

别忘了重新启动。

请注意,这适用于OSX(OP操作系统),但对于普通Linux,您可以编辑/etc/environment

相关问题