一、问题描述
在Tomcat中部署应用时,启动Tomcat后,会在Tomcat下的temp文件夹下建立副本,而且重启一次建一个副本,如图
二、带来的问题:
程序更新时,直接替换webapp文件夹的应用程序,重启Tomcat后,已经更新的内容,在浏览器访问时,还是未更新前的状态,导致系统更新失败。
三、通常的解决方法
没有办法,只能每次手动到temp文件夹下,删除该应用的副本,重新启动Tomcat后,问题才能够解决。
四、终极解决方法
每次都这样做,会比较麻烦,有没有什么简单的方法,或一劳永逸的方法能够解决呢?答案是肯定的,有
在Tomcat目录下,找到conf文件夹下的context.xml文件
<span style="font-size:14px;"><Context antiJARLocking="true" antiResourceLocking="true">
<!-- Default set of monitored resources -->
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<!-- Uncomment this to disable session persistence across Tomcat restarts -->
<!--
<Manager pathname="" />
-->
<!-- Uncomment this to enable Comet connection tacking (provides events
on session expiration as well as webapp lifecycle) -->
<!--
<Valve className="org.apache.catalina.valves.CometConnectionManagerValve" />
-->
</Context></span>
找到antiJARLocking="true" 和antiResourceLocking="true",将true全部改为false即可解决。