启动时,Tomcat递归扫描TLD(标签库描述符)文件的WEB-INF目录。因此,如果webapp在该目录下有很多文件,它会减慢启动过程。有谁知道在这种情况下是否有办法完全关闭扫描,或者至少提供一个过滤器来缩小搜索范围?是否可以关闭Tomcat中的taglib扫描?
回答
您可以添加processTlds在上下文属性,
<Context processTlds="false" ... />
然而,在JAR文件中定义你的顶级域名不会没有扫描的JAR工作。您必须在WEB-INF中定义所有TLD。
谢谢!这很好地诀窍! – 2009-09-29 15:32:25
似乎是一个Tomcat 7属性。 – Zalumon 2017-08-08 12:12:40
作为替代方案(如果您仍然喜欢扫描某些JAR),可以将新值附加到“{TOMCAT_HOME} /conf/catalina.properties”中的“tomcat.util.scan.DefaultJarScanner.jarsToSkip”属性。
这是Tomcat 7中的新功能,对吧?就我而言,我仍在使用Tomcat 6,但对于Tomcat 7用户来说,这看起来是一个不错的选择。 – 2012-04-13 13:52:56
是的。不适用于Tomcat 6.属性显示在Tomcat 7中。 – 2012-04-13 14:18:27
我对同样的问题感到困惑。查看Tomcat 7.0.40的源代码,通过设置'processTlds = false'来避免罐子扫描是可能的,它们仍将被扫描以查找Web碎片(ContextConfig.processJarsForWebFragments())。
有剩余的2个选择:在TOMCAT_HOME/conf目录
设置属性/ catalina.properties
org.apache.catalina.startup.ContextConfig.jarsToSkip=*.jar
通过自己的实现替换StandardJarScanner,例如空单,并从my.war引用它/META-INF/context.xml:
<Context processTlds="false">
<JarScanner className="org.my.tomcat.NullJarScanner"/>
</Context>
在你需要确保后者的情况下NullJarScanner类可在Tomcat的lib目录下,不育ur .war
在Tomcat 8上,可以通过将META-INF\context.xml
以及下面的配置添加到WAR文件来解决。 无需更改全局Tomcat配置。
<?xml version="1.0" encoding="UTF-8"?>
<Context>
<JarScanner>
<JarScanFilter tldSkip="*.*"/>
</JarScanner>
</Context>
相关的文档可以在这里找到:http://tomcat.apache.org/tomcat-8.0-doc/config/jar-scan-filter.html
- 1. 只要关闭底层可读性,不关闭Java扫描器是否安全?
- 2. 是否可以关闭TomCat中的热部署?
- 3. 扫描仪从不关闭
- 4. 扫描器中的连接未关闭
- 5. 是否可以扫描LAN或Wi-Fi连接的扫描仪机器?
- 6. 从.NET扫描仪的GUI扫描打开然后关闭
- 7. 是否可以控制扫描仪的哔声?
- 8. 是否可以扫描局域网的局域网?
- 9. 什么是NetBeans中的“任务扫描”以及如何关闭它?
- 10. java.lang.IllegalStateException:扫描程序关闭错误
- 11. 是否可以关闭一个端口?
- 12. 是否可以关闭Java Web Start?
- 13. 是否可以在Android上进行部分Wifi扫描?
- 14. 是否可以更改最大WIA扫描分辨率?
- 15. 是否可以使用Android SDK扫描无线客户端?
- 16. 是否可以使用闪存访问通用TWAIN扫描仪?
- 17. 是否可以使用Python扫描Wi-Fi?
- 18. 是在抛出异常时关闭的java扫描程序?
- 19. 为什么关闭扫描仪似乎破坏了新的扫描仪?
- 20. 是否可以将条形码扫描到背景中的一个过程中?
- 21. Java程序在扫描程序可以在第二次输入之前关闭
- 22. 是否有可能“关闭”
- 23. 在谷歌应用程序引擎(Jetty)中禁用taglib扫描
- 24. 可以获得iBeacon的扫描响应
- 25. Tomcat关闭关闭jar
- 26. 是否可以关闭'svn export'的关键字替换?
- 27. 每秒扫描一次关键字的页面是否有效?
- 28. 任何iPhone条码扫描器是否可以从网页扫描条形码并将代码传回页面?
- 29. 是否可以关闭QLPreviewController中的键盘
- 30. 是否可以关闭Asciidoctor中的语法高亮显示?
是否有分配只是你要扫描的特定罐的方法吗? – 2011-11-09 21:36:05
不是我所知道的。 – 2011-11-11 02:33:11