TOMCAT_OPTS,环境变量和System.getEnv()

2022-09-03 08:31:17

我使用tomcat,我想在我的java代码中获取一个环境变量。

要设置环境变量,我使用以下bash命令:

export TOMCAT_OPTS=-Dmy.var=foo

之后我开始雄猫

./startup.sh (in bin folder of tomcat)

在我的java代码中,我试图得到这个变量:

System.getEnv("my.var")

但它返回 NULL。

我该怎么做?

我精确地指出,如果我使用maven来启动tomcat并使用eclipse环境选项卡,那么变量就会被找到!但是我需要像上面一样在生产模式下启动tomcat。

编辑:当使用导出MY_VAR直接运行时,它运行在本地,但不在我的服务器上...


答案 1

System.getEnv返回环境变量,如 PATH,或者,在您的示例中,返回 TOMCAT_OPTS)。

当您使用 调用 Java 时,无需设置环境变量:您可以传递系统属性。用于获取 foo 的值。-Dfoo=barSystem.getProperty


答案 2

我终于在CATALINA_HOME找到了一个名为tomcat6.conf的配置文件。我将导出 my.var=foo 添加到文件的末尾,System.getenv(“my.var”) 现在返回值...

噩梦。。。


推荐