2010-01-26 64 views
1

在Tomcat 5中,我将构建一个WAR文件并将其放置在我的测试服务器上。在此服务器上,CATALINA_HOME/conf/[EngineName]/[HostName]目录中有一个my-app.xml文件,指向我的测试数据库。完成测试后,我会将WAR文件发送给我的客户IT部门,他们会将文件放入CATALINA_HOME/webapps目录中。在他们的Tomcat实例中,他们有一个不同的my-app.xml文件指向生产数据库。更新Tomcat 6.0.20中现有的webapp时出现的问题

最近我们升级到了Tomcat 6,当我们将WAR文件复制到webapps目录时,它删除了my-app.xml文件。删除后,如果我将my-app.xml文件的备份复制到CATALINA_HOME/conf/[EngineName]/[HostName]目录中,即使我从Tomcat Manager重新加载webapp,Tomcat也会忽略它。

我试着在WAR文件的META-INF目录中添加context.xml文件。当Tomcat扩展WAR文件时,它将使用context.xml文件覆盖my-app.xml文件。如果我然后将my-app.xml文件的备份复制回CATALINA_HOME/conf/[EngineName]/[HostName]目录,则Tomcat将删除WAR文件和展开的目录。

我可以在WAR文件中包含适当的my-app.xml文件,但这意味着构建两个WAR文件,一个是测试my-app.xml,另一个是生产my-app.xml。如果我将WAR文件或my-app.xml备份文件按特定顺序复制到正确的目录中,我也可以使其工作。由于多种原因,我不喜欢这些解决方案。

我在做什么错?为什么这不适用于新版本?我需要更改选项吗?我需要改变我的过程吗? (注意:客户的IT部门不希望停止并启动Tomcat来重新部署新的WAR文件。)

谢谢!

回答