【发布时间】:2012-12-20 21:40:52
【问题描述】:
我从一个 Web 应用程序生成了一个 .war,我正在尝试使用 vanilla Tomcat 7(没有 Eclipse 或其他任何东西)来部署它。
这是我的问题:应用程序依赖环境变量连接到事物然后启动。
在 CLI 中,我确实通过 APP_ENV=deploy ./run.sh 设置它们:我可以在 Tomcat 中的任何位置设置它们吗?从 Web 界面和配置文件来看,这似乎是不可能的。
【问题讨论】:
我从一个 Web 应用程序生成了一个 .war,我正在尝试使用 vanilla Tomcat 7(没有 Eclipse 或其他任何东西)来部署它。
这是我的问题:应用程序依赖环境变量连接到事物然后启动。
在 CLI 中,我确实通过 APP_ENV=deploy ./run.sh 设置它们:我可以在 Tomcat 中的任何位置设置它们吗?从 Web 界面和配置文件来看,这似乎是不可能的。
【问题讨论】:
创建一个名为 bin/setenv.sh 的文件 - 如果它在那里,它将被获取。
在那里,提供设置:
CATALINA_OPTS="-Dsome.property=some.value -Xmx1024m"
(只有样本,你懂的)
这显然适用于系统属性,但同样适用于环境变量。我不知道通过某些接口在运行时设置它们的技术。但是,在运行时,您不需要依赖环境变量,而是可以处理任何其他配置技术。
如果要遍历server.xml和web.xml,也可以使用tomcat-environment配置。 (那一章也可能提供其他方法来通过 tomcat 配置您的应用程序)
【讨论】:
export FOO=bar(或 Windows 的 set FOO=bar)。