java - TOMCAT_OPTS、环境变量和 System.getEnv()

标签 java tomcat maven environment-variables

我使用 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/

相关文章:

java - 如何解决 Spark 库与 Cloudera CDH 5.8.0 虚拟盒冲突

java - 使用 Apache Camel 访问 Azure 服务总线?

不同目录中的 Java 类路径

java - 爆炸 WAR 文件的优点/缺点

java - Hibernate - ManyToOne 和继承/JOINED/mappedBy

maven - Intellij Idea中maven构建后如何查看测试报告?

java - 如何在jar文件中使用类文件?

java - 从 Java 程序中打开任何文件

java - 使用 JAVA 和 Tomcat 重定向到主页的问题

java - 我该如何应对 "IllegalStateException: BeanFactory not initialized or already closed"?