我有两个webApps FOO和BAR,我想在同一个Tomcat 8实例上部署它。两个weppApp都应该有自己的上下文配置用于JNDI目的。当通过FTP(持续集成)传输新的WAR文件时,两个webApp都应该能够自动部署。
我的工作:
一个带有上下文和自动部署的webApp
两个webApp,每个都有自己的上下文,但没有 autodeploy
两个webApp的问题在于,当取消部署当前部署的WAR时,Tomcat总是尝试删除自定义上下文配置。因此失去了JNDI配置。
在" $ CATALINA_BASE / conf / [enginename] / [hostname]"中定义上下文时上下文被删除。
当在" server.xml"中定义上下文时抛出一个错误,tomcat无法删除上下文,因为它是在" server.xml"中定义的。
如何阻止Tomcat在取消部署期间尝试删除上下文文件?
我尝试过使用autoDeploy =" false&#34 ;, deployXML =" false"和autodeploy =' false"没有成功。
一种可能的解决方案应该是在WAR文件中定义上下文。但是我认为在WAR中定义与环境相关的配置文件是NO-GO并且在将来要求出错。
一些较旧的帖子将此问题标记为'设计'但那太傻了。
相关帖子:
https://serverfault.com/questions/192784/why-does-tomcat-like-deleting-my-context-xml-file
Jenkins Tomcat deploy : Context is defined in server.xml and may not be undeployed