我有一个在Tomcat容器内部署的Apache Tomcat(Spring)应用程序。 主机是Centos 7,容器是Debian 9。
在过去,我运行这个应用程序没有任何问题以外的Docker。
我通过将所需文件复制到${CATALINA_HOME}/webapps/appname/部署应用程序。 应用程序加载正常,但是应用程序的副本会自动移动到${CATALINA_HOME}/temp/3-appname/ 。
我不认为这会是一个问题,但注意到,如果我更改${CATALINA_HOME}/webapps/appname/的JSP页面,则不会有任何反应。 如果我在临时目录中更改它,则会显示更改。
在我的Spring应用程序中,调用ServletContext.getRealPath("WEB-INF")导致temp目录中的WEB-INF目录。
我假设问题是某处的上下文configuration,但我不确定在哪里设置它,因为我不必在过去设置它。
我怎样才能阻止应用程序从临时目录,而不是webapps目录?
事实certificate,这是我修复bug的一个副作用:
${CATLINA_HOME}/conf/server.xml在<Context>元素中有antiResourceLocking="true" 。 这会导致从temp目录提供的多个web应用程序副本。