我使用 tomcat,我想在我的 java 代码中获取一个环境变量。
要设置环境变量,我使用这个 bash 命令:
export TOMCAT_OPTS=-Dmy.var=foo
之后我启动tomcat
./startup.sh (in bin folder of tomcat)
在我的 java 代码中,我尝试获取这个变量:
System.getEnv("my.var")
但它返回 NULL。
我该怎么做?
我准确地说,如果我使用 maven 启动 tomcat 并使用 eclipse 环境选项卡,就会找到变量!但是我需要像上面那样在生产模式下启动 tomcat。
编辑:当直接使用 export MY_VAR 时,它在本地运行但不在我的服务器上...
最佳答案
System.getEnv
返回环境变量,例如 PATH 或在您的示例中为 TOMCAT_OPTS)。
当您使用 -Dfoo=bar
调用 Java 时,您没有设置环境变量:您传递的是系统属性。使用 System.getProperty
获取 foo 的值。
关于java - TOMCAT_OPTS、环境变量和 System.getEnv(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5115339/