现在,所有应用程序特定的configuration都是在conf/Catalina/localhost/myWebApp.xml ,并且这个文件在不同的部署场景(testing/生产/个人等)之间改变。 我最初的想法是为显式configuration创build多个configuration文件。 理想情况下,这些特定于部署的configuration文件是可以互换的。 也就是说,configuration文件的交换机(包含在部署之间更改的参数)将是切换部署所需的唯一configuration更改。
这样做最好的方法是什么? 我可以用tomcat覆盖属性吗? 我怎样才能为webapp上下文使用多个configuration文件? 如果我可以重写,我如何指定重写优先?
谢谢。
从核心服务器端,您可以在启动时通过Tomcatconfiguration,而不是使用默认configuration,如下所示:
cd $TOMCAT_HOME ./bin/startup.sh -config /some/path/to/server.xml
这个server.xml为webapps定义了你的'host'元素,这个元素有多个属性,看它们是如何部署的(看一下默认的)。 configuration文档在这里:
http://tomcat.apache.org/tomcat-6.0-doc/config/host.html
在这个文档中稍微查看它开始谈论“自动应用程序部署”的地方 – 有一些讨论不同XML文件的问题。 也许这些引擎所定义的程序之一将允许为你的需求创build一个工作场景。 我没有完全按照你的要求完成,通常情况下,部署的WAR包含自己的XML,并自动解压缩 – 我不会在webapps / foo /区域中覆盖解压后的文件。
显然,您可以做的最好的事情是构build一个可变分析引擎,为您需要的不同部署创build多个部署文件。