Назад | Перейти на главную страницу

Tomcat обслуживает страницы из каталога temp вместо каталога webapps

У меня есть приложение Apache Tomcat (Spring), развернутое внутри контейнера Docker. Хост - Centos 7, контейнер - Debian 9.

Раньше я без проблем запускал это приложение вне Docker.

Я разворачиваю приложение, как всегда, копируя необходимые файлы в ${CATALINA_HOME}/webapps/appname/. Приложение загружается нормально, однако копия приложения автоматически перемещается в ${CATALINA_HOME}/temp/3-appname/.

Я не думал, что это будет проблемой, но заметил, что если я изменю страницу JSP в ${CATALINA_HOME}/webapps/appname/, Ничего не произошло. Если я изменю его во временном каталоге, изменение отобразится.

В моем приложении Spring вызов ServletContext.getRealPath("WEB-INF") приводит к каталогу WEB-INF во временном каталоге.

Я предполагаю, что проблема связана с какой-то конфигурацией контекста, но я не уверен, где ее установить, поскольку мне не приходилось устанавливать это в прошлом.

Как я могу предотвратить обслуживание приложения из каталога temp, а не из каталога webapps?

Оказывается, это был побочный эффект того, что я сделал, чтобы исправить ошибку:

${CATLINA_HOME}/conf/server.xml было antiResourceLocking="true" в <Context> элемент. В результате из временного каталога обслуживается несколько копий веб-приложения.