Tomcat针对每个webapp和自动部署的不同上下文配置

时间:2017-08-02 09:02:10

标签: java tomcat web-applications configuration context.xml

我有两个webApps FOO和BAR,我想在同一个Tomcat 8实例上部署它。两个weppApp都应该有自己的上下文配置用于JNDI目的。当通过FTP(持续集成)传输新的WAR文件时,两个webApp都应该能够自动部署。

我的工作:

  • 一个带有上下文和自动部署的webApp

    • context.xml中定义的上下文
  • 两个webApp,每个都有自己的上下文,但没有 autodeploy

    • 上下文在$ CATALINA_BASE / conf / [enginename] / [hostname]
    • 中定义
    • OR上下文在server.xml中定义

两个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

https://github.com/psi-probe/psi-probe/issues/374

0 个答案:

没有答案