如何将环境变量添加到在Tomcat上运行的应用程序?

kon*_*onr 3 tomcat tomcat7

我从Web应用程序生成了一个.war,我正在尝试使用vanilla Tomcat 7(没有Eclipse或其他任何东西)来部署它.

这是我的问题:应用程序依赖环境变量连接到事物然后启动.

在CLI中,我通过APP_ENV=deploy ./run.sh以下方式设置它们:我可以在Tomcat中的任何位置设置它们吗?它似乎不可能从Web界面和配置文件.

Ola*_*ock 5

创建一个名为bin/setenv.sh的文件 - 如果存在的话,这将被获取.

在那里,提供设置:

CATALINA_OPTS="-Dsome.property=some.value -Xmx1024m" 
Run Code Online (Sandbox Code Playgroud)

(只有样品,你得到的概念)

这显然适用于系统属性,但同样适用于环境变量.我不知道通过某种界面在运行时设置它们的技术.但是,在运行时,您不需要依赖环境变量,但可以处理任何其他配置技术.

如果要通过server.xml和web.xml,还可以使用tomcat-environment配置.(该章可能还提供了通过tomcat配置应用程序的其他方法)

  • 如果你使用export在setenv.sh中定义环境变量,它可能会节省一些神经,比如`export FOO = bar`(或`set FOO = bar` for windows). (2认同)