gow*_*man 54 logging compilation jar tld tomcat7
在启动应用程序或通过ant编译JSP时,Tomcat 7 Jasper会抱怨多余或错位的JAR文件.我得到了以下信息
**compile-jsp:**
[jasper] Jul 31, 2012 7:15:15 PM org.apache.jasper.compiler.TldLocationsCache tldScanJar
[jasper] INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
Run Code Online (Sandbox Code Playgroud)
如何在扫描期间跳过不需要的JAR可以改善tomcat中的启动时间和JSP编译时间?
如何实现更好的输出?
Ale*_*nko 45
Tomcat 8.5.catalina.properties内部,位于/ conf目录集中:
tomcat.util.scan.StandardJarScanFilter.jarsToSkip=\*.jar
Run Code Online (Sandbox Code Playgroud)
或者进入位于Tomcat的/ conf目录中的context.xml并添加:
<JarScanner scanClassPath="false"/>
Run Code Online (Sandbox Code Playgroud)
Gun*_*man 41
对于Tomcat 8,我必须为tomcat/conf/logging.properties
Tomcat扫描的jar中添加以下行以显示在日志中:
org.apache.jasper.servlet.TldScanner.level = FINE
Run Code Online (Sandbox Code Playgroud)
ski*_*box 15
上述解决方案对我不起作用.相反,我只是从logging.properties文件的最后一行删除了哈希(#),以使其工作.
# To see debug messages in TldLocationsCache, uncomment the following line:
org.apache.jasper.compiler.TldLocationsCache.level = FINE
Run Code Online (Sandbox Code Playgroud)
下一步是在catalina.properties文件中添加Tomcat 7正在寻找的jar,紧跟在以下行之后
org.apache.catalina.startup.TldConfig.jarsToSkip=
Run Code Online (Sandbox Code Playgroud)
Jos*_*ust 10
如果它对任何人都有帮助,我只是将下面输出文件的内容附加到现有org.apache.catalina.startup.TldConfig.jarsToSkip=
条目中.
请注意,这/var/log/tomcat7/catalina.out
是tomcat日志的位置.
egrep "No TLD files were found in \[file:[^\]+\]" /var/log/tomcat7/catalina.out -o | egrep "[^]/]+.jar" -o | sort | uniq | sed -e 's/.jar/.jar,\\/g' > skips.txt
Run Code Online (Sandbox Code Playgroud)
希望有所帮助.
警告出现是因为Tomcat扫描所有Jars的TLD(标记库定义).
步骤1:要查看哪些JAR抛出此警告,请将以下行插入tomcat/conf/logging.properties
org.apache.jasper.servlet.TldScanner.level = FINE
Run Code Online (Sandbox Code Playgroud)
现在,您应该能够看到警告,其中包含哪些JAR导致初始警告的详细信息
步骤2由于在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编译时间,我们将跳过catalina.properties
文件中不需要的JARS .你有两个选择 -
tomcat.util.scan.StandardJarScanFilter.jarsToSkip
.但如果你有很多罐子或罐子不断变化,这可能会变得很麻烦.tomcat.util.scan.StandardJarScanFilter.jarsToSkip=*
以跳过所有罐子您现在应该看不到上述警告,如果您有相当大的应用程序,它应该为您节省部署应用程序的大量时间.
注意:在Tomcat8中测试过