Mat*_*ell 6 java tomcat taglib
在启动时,Tomcat递归扫描WEB-INF目录中的TLD(标记库描述符)文件.因此,如果webapp在该目录下有很多文件,则会降低启动过程的速度.有没有人知道在这种情况下是否有办法完全关闭扫描,或者至少提供一个过滤器来缩小搜索范围?
ZZ *_*der 12
您可以在上下文中添加processTlds属性,
<Context processTlds="false" ... />
Run Code Online (Sandbox Code Playgroud)
但是,如果不扫描JAR,JAR文件中定义的TLD将无法运行.您必须在WEB-INF中定义所有TLD.
我对同样的问题感到困惑.查看Tomcat 7.0.40的源代码,通过设置'processTlds = false'无法避免jar扫描,仍然会扫描它们的Web片段(ContextConfig.processJarsForWebFragments()).
剩下2个选项:
在TOMCAT_HOME/conf/catalina.properties中设置属性
org.apache.catalina.startup.ContextConfig.jarsToSkip=*.jar
Run Code Online (Sandbox Code Playgroud)
用你自己的实现替换StandardJarScanner,例如空的,并从my.war/META-INF/context.xml中引用它:
<Context processTlds="false">
<JarScanner className="org.my.tomcat.NullJarScanner"/>
</Context>
Run Code Online (Sandbox Code Playgroud)
在后一种情况下,您需要确保NullJarScanner类在tomcat的lib目录中可用,而不是.war
在Tomcat 8上,可以通过将META-INF\context.xml
下面的配置添加到WAR文件中来解决.无需更改全局Tomcat配置.
<?xml version="1.0" encoding="UTF-8"?>
<Context>
<JarScanner>
<JarScanFilter tldSkip="*.*"/>
</JarScanner>
</Context>
Run Code Online (Sandbox Code Playgroud)
相关文档可在此处获得:http://tomcat.apache.org/tomcat-8.0-doc/config/jar-scan-filter.html
归档时间: |
|
查看次数: |
11430 次 |
最近记录: |