我如何禁用tomcatcaching? 我有奇怪的静态文件问题

如何防止tomcatcaching? 我有css和基本的html文件,我加载和通过ajax使用,除非我重新启动tomcat,这些变化似乎并没有反映。 不同的机器,不同的浏览器,我没有收到更新的文件。

思考?

更改cachingAllowed标志后,可能必须删除/ work / Catalina / localhost中的应用程序caching文件夹。

configuration可以在server.xml中引入

<Context className="org.apache.catalina.core.StandardContext" cachingAllowed="false" charsetMapperClass="org.apache.catalina.util.CharsetMapper" cookies="true" reloadable="false" wrapperClass="org.apache.catalina.core.StandardWrapper"> </Context> 

我在Tomcat 7中遇到了这个问题,原因是我将antiResourceLocking设置为true(这听起来像个好主意……)。

根据文档( http://tomcat.apache.org/tomcat-7.0-doc/config/context.html ):

请注意,将其设置为true会产生一些副作用,包括在正在运行的服务器中禁用JSP重新加载:请参阅Bugzilla 37668。

在我的情况下,它甚至导致简单的静态文本文件被caching。

所以,总而言之,至less对于快速发展,我不得不使用:

 antiResourceLocking="false" cachingAllowed="false" 

对于Tomcat 8 / Tomcat 9属性应该在conf / context.xml中添加如下

 <Context> <Resources antiResourceLocking="false" cachingAllowed="false" /> ... </Context> 

更改cachingAllowed标志后,可能必须删除/ work / Catalina / localhost中的应用程序caching文件夹。 同时清除IntelliJ IDEA的caching(如果您使用它来运行Tomcat):

 Mac:/ Users / {:user} / Library / Caches / IntelliJIdea {:version} / tomcat /  
 Linux:/home/{:user}/.IntelliJIdea{:version}/system/tomcat/
 Windows:C:\ Users \ {:user} \。IntelliJIdea {:version} \ system \ tomcat \

你有没有检查这个url:

http://tomcat.apache.org/tomcat-5.5-doc/config/context.html

cacheMaxSize – 静态资源caching的最大大小(以千字节为单位)。 如果未指定,则默认值为10240(10兆字节)。

cacheTTL – 重新validationcaching条目之间的时间(以毫秒为单位)。 如果未指定,则默认值为5000(5秒)。

cachingAllowed – 如果此标志的值为true,则将使用静态资源的caching。 如果未指定,则标志的默认值为true。