我们最近将 Spring Boot 依赖项从 1.3.5 升级到 1.5.8;在部署到 Azure 托管的 Tomcat 容器时,我们注意到部署无法正确启动。进一步检查 Catalina 日志后:
org.apache.catalina.startup.ExpandWar.deleteDir 无法完全删除。剩余文件的存在可能会导致问题。
我们知道可以通过将 antiResourceLocking="true" 添加到 context.xml 来解决该问题,但是由于我们希望将我们的平台保留为服务,因此我们无权访问修改此配置。
有没有办法在 web.config 中或在 azure 上以其他方式设置此配置,同时将 tomcat 容器维护为服务?
最佳答案
所以这个问题的解决办法就是放置一个context.xml
进入src/main/webapp/META-INF
,如所解释的here .
解决方案详见Context Container section Apache Tomcat 配置引用。
因为我们拥有 D:/
的读取权限,我刚刚复制了context.xml
从 Tomcat 安装那里并通过更改 <Context antiResourceLocking="true">
对其进行修改.
这样,我们就不需要从市场安装 Tomcat 或将其打包到 war 中。
关于java - Azure 上的自定义 Tomcat 配置(平台即服务),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47756790/