Tomcat 6无法复制我的context.xml文件。

3
我所了解的Tomcat相关内容都表明,当我部署我的Web应用程序时,Tomcat会拿走我的 context.xml 文件,将其复制到<tomcat-dir><engine-name><host> 并将其重命名为<mywebbappname>.xml
但实际上并未如此。
我在我的机器上部署了捆绑有Tomcat 6的Liferay 6。我的Web应用程序的context.xml文件非常基本: <Context privileged="true" crossContext="true"></Context> 我的context.xml文件位于与我的WEB-INF目录相同级别的META-INF目录下。
我认为结构设置正确,但当Tomcat部署WAR文件时,context.xml文件并没有被复制或重命名。如果我手动创建<tomcat-dir>\<engine-name>\<host>\<mywebbappname>.xml,一切正常。
这对于开发来说是可以的,但我必须重新启动Tomcat才能看到我的上下文,这在生产环境中不起作用。
我是不是漏掉了一些小细节?
谢谢,
David

Tomcat是否设置为自动部署? - Buhake Sindi
@the-elite-gentleman 对不起,Elite先生,我完全错过了你的问题。答案是肯定的。我可以将我的WAR文件放在Tomcat的webapps目录中,或者,由于我正在使用Liferay,可以将其放在Liferay的热部署目录中。无论哪种方式,Web应用程序都会部署,但context.xml文件不会发生任何变化。 - David
1个回答

3

这实际上是最近修复的一个错误。解决方法很简单,在 /conf/server.xml 中搜索 deployXML,它将被设置为 false,改为 true,您应该会看到预期的行为。

编辑:我也在 http://issues.liferay.com/browse/LPS-17916 找到了问题。


这基本上起作用了。我取消部署我的 portlet,更改了 deployXML 属性并重新启动了 Tomcat。然后,我重新部署了我的 portlet,结果遇到了同样的问题。但是,当我再次重启服务器时,Tomcat 发现配置文件丢失并创建了它。我使用的是 Liferay-Tomcat 捆绑版本 6.0.5 / 6.0.26,因此也许在未来的捆绑版本中会“更好”地工作。这仍然比客户手动复制配置文件要好得多,所以感谢您的答案。 - David

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接