Stefan Kendall Asked: 2009-07-14 15:49:47 +0800 CST2009-07-14 15:49:47 +0800 CST 2009-07-14 15:49:47 +0800 CST 如何禁用tomcat缓存?我遇到了奇怪的静态文件问题 772 如何防止tomcat缓存?我有通过 ajax 加载和使用的 css 和基本 html 文件,除非我重新启动 tomcat,否则这些更改似乎没有反映出来。不同的机器,不同的浏览器,我没有收到更新的文件。 想法? tomcat cache web-server 4 个回答 Voted Best Answer Adam Brand 2009-07-14T16:57:17+08:002009-07-14T16:57:17+08:00 更改cachingAllowed 标志后,您可能必须删除/work/Catalina/localhost 中的应用程序缓存文件夹。 可以在 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> naXa stands with Ukraine 2016-03-30T06:22:38+08:002016-03-30T06:22:38+08:00 对于 Tomcat 8 / Tomcat 9 属性应添加到 conf/context.xml 中,如下所示 <Context> <Resources antiResourceLocking="false" cachingAllowed="false" /> ... </Context> cachingAllowed更改标志后,您可能必须删除 /work/Catalina/localhost 中的应用程序缓存文件夹。还要清除 IntelliJ IDEA 的缓存(如果你用它来运行 Tomcat): Mac:/Users/{:user}/Library/Caches/IntelliJIdea{:version}/tomcat/ Linux:/home/{:user}/.IntelliJIdea{:version}/system/tomcat/ Windows:C:\Users\{:user}\.IntelliJIdea{:version}\system\tomcat\ 有关其他参数,请参阅Apache Tomcat 9 配置参考。 Reto Höhener 2012-11-25T02:41:31+08:002012-11-25T02:41:31+08:00 我在 Tomcat 7 中遇到了这个问题,原因是我将 antiResourceLocking 设置为 true(这听起来是个好主意......)。 根据文档(http://tomcat.apache.org/tomcat-7.0-doc/config/context.html): 请注意,将此设置为 true 会产生一些副作用,包括在正在运行的服务器中禁用 JSP 重新加载:请参阅 Bugzilla 37668。 在我的情况下,它甚至导致纯静态文本文件被缓存。 所以,总而言之,至少为了快速开发,我不得不使用: antiResourceLocking="false" cachingAllowed="false" KPWINC 2009-07-14T16:49:27+08:002009-07-14T16:49:27+08:00 您是否检查过此文档:Apache Tomcat 配置参考? cacheMaxSize-- 静态资源缓存的最大大小(以千字节为单位)。如果未指定,则默认值为 10240(10 兆字节)。 cacheTTL-- 缓存条目重新验证之间的时间量(以毫秒为单位)。如果未指定,则默认值为 5000(5 秒)。 cachingAllowed-- 如果该标志的值为真,将使用静态资源的缓存。如果未指定,则标志的默认值为 true。 这些参数对于 Tomcat 5.5 和 Tomcat 6.0 是相同的。
更改cachingAllowed 标志后,您可能必须删除/work/Catalina/localhost 中的应用程序缓存文件夹。
可以在 server.xml 中引入配置为
对于 Tomcat 8 / Tomcat 9 属性应添加到 conf/context.xml 中,如下所示
cachingAllowed
更改标志后,您可能必须删除 /work/Catalina/localhost 中的应用程序缓存文件夹。还要清除 IntelliJ IDEA 的缓存(如果你用它来运行 Tomcat):有关其他参数,请参阅Apache Tomcat 9 配置参考。
我在 Tomcat 7 中遇到了这个问题,原因是我将 antiResourceLocking 设置为 true(这听起来是个好主意......)。
根据文档(http://tomcat.apache.org/tomcat-7.0-doc/config/context.html):
在我的情况下,它甚至导致纯静态文本文件被缓存。
所以,总而言之,至少为了快速开发,我不得不使用:
您是否检查过此文档:Apache Tomcat 配置参考?
这些参数对于 Tomcat 5.5 和 Tomcat 6.0 是相同的。