在Mac OSX和Linux中CentOS的,我插入一个新的系统环境变量(即“MYAPP”)使用的.bashrc和.bash_profile中。 我甚至重新启动我的笔记本电脑(MAC)和我的服务器(Linux版)。
当我使用命令行“ENV”,即环境变量显示正确的值。 但不知何故,每次我设法得到它在无论是Mac或Linux的Java应用程序(桌面应用程序或Web应用程序或EJB或Servlet任何其他Java应用程序),即环境变量(“MYAPP”)未检索。
我想从整个环境变量的Java可以检索到迭代和事实证明,它比检索“MYAPP”等各种环境变量。 这是很奇怪的。
任何人都知道如何解决这个问题?
你export MYAPP=...
? 导出可变使其可用于子进程,就像你的shell中运行Java的。
在Linux中,如果你只设置变量(或导出)在bash会议,这将是提供给一种“亚健康”会议,这是只提供给您刚刚执行的命令,而不是其他的。
你也许可以用在bash点运算符 (也称为“源”命令)。 从页面:
当脚本使用'源”它运行现有的外壳内运行,由脚本创建或修改任何变量将剧本完成后仍然可用。
所以,你可以尝试这样做。 出口变量=值,然后运行Java程序。 这类似于在Windows终端设置变量,然后打开一个新的终端和期待的环境变量在那里。 它不会。
这样一来,你告诉打击“这个命令应该在这个特定的会话(session的过程)可用”。 否则,你告诉它“设置我运行这个导出命令后,将结束bash命令这的环境变量”。因此,它不会在您运行Java程序存在。
后具有限定和导出的环境变量。 在同一终端启动您的IDE。