在 mac OSX 和 Linux CentOS 中,我使用 .bashrc 和 .bash_profile 插入一个新的系统环境变量(即“MYAPP”)。我什至重新启动了我的笔记本电脑 (mac) 和我的服务器 (linux)。
当我使用命令行“env”时,该环境变量显示正确的值。但不知何故,每次我尝试在 Mac 或 Linux 中的 Java 应用程序(桌面应用程序或 Web 应用程序或 EJB 或 servlet 任何其他 Java 应用程序)中获取它时,都不会检索到该环境变量(“MYAPP”)。
我尝试遍历 Java 可以检索的整个环境变量,结果发现它检索了除“MYAPP”之外的所有环境变量。这很奇怪。
有人知道如何解决这个问题吗?
最佳答案
您是否导出了 MYAPP=...
?导出变量使其可供子进程使用,就像 shell 运行的 java 一样。
关于Java System.getEnv(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11838219/