我运行一个基于 Java 的 CMS,它将缓存的图像放在 WEB-INF 文件夹中,特别是在
/WEB-INF/imagecache/
. 不幸的是,这个目录变得非常大,有很多嵌套路径,并且 Tomcat 重新启动变得非常缓慢 - 将日志级别设置为org.apache.jasper.servlet.TldScanner.level
FINE 说明了原因,有大量这样的消息:
16-Mar-2022 13:50:56.109 FINE [localhost-startStop-1] org.apache.jasper.servlet.TldScanner.scanResourcePaths No TLD files were found in resource path [/WEB-INF/imagecache/<snip>/].
有没有办法完全禁止特定目录中的 TldScanner?
scanResourcePaths
将始终扫描 下的每个目录和文件/WEB-INF/
,除了/WEB-INF/classes/*
和/WEB-INF/lib/*
。这些值被硬编码到代码中,因此您无法更改它们。更好的选择是不污染
WEB-INF
目录,而是为缓存数据指定一个外部目录。如果您出于任何原因需要重新部署应用程序,这具有不会丢失所有缓存的额外优势。