环境css
CentOS 7.4web
jdk-10.0.2apache
apache-tomcat-9.0.11tomcat
29-Aug-2018 19:21:32.257 INFO [main] org.apache.jasper.servlet.TldScanner.scanJars 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.
出现问题的缘由是 Tomcat 在启动过程当中加载众多 jar 文件,默认会对其作 TLDs 扫描。 有博客说,修改tomcat属性,忽略对EL表达式的关键字检查。修改 $CATALINA_BASE/conf/catalina.properties文件,添加org.apache.el.parser.SKIP_IDENTIFIER_CHECK=true选项。但并没适用我遇到的状况。app
处理办法this
编辑 {CATALINA-HOME}/conf/logging.properties 文件,在文件末尾添加:.net
org.apache.jasper.servlet.TldScanner.level = FINE
此处需注意,以前说的方法修改的是catalina.properties,而此处修改的是logging.propertiesdebug
重启 Tomcatcode
在 {CATALINA-HOME}/logs/ 目录下执行下面命令blog
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
执行后会在 ~/skips.txt 中获得相似下面的结果:
axis-1.4.0.jar,\ axis-ant-1.3.jar,\ axis-ant-1.4.jar,\ axis-jaxrpc-1.1.jar,\ axis-saaj-1.2.jar,\ axis-wsdl4j-1.5.1.jar,\ backport-util-concurrent-3.1.jar,\ batik-css-1.7.jar,\ batik-ext-1.7.jar,\ batik-util-1.7.jar,\ bcmail-jdk15-138.jar,\ bcmail-jdk15-149.jar,\ bcpg-jdk15-138.jar,\ bcpg-jdk15on-149.jar,\
将上面的结果放到**{CATALINA-HOME}/conf/catalina.properties**文件中的 tomcat.util.scan.StandardJarScanFilter.jarsToSkip= 处,保存该文件
注意,此处是catalina.properties
删除步骤1中在 logging.properties 中添加的org.apache.jasper.servlet.TldScanner.level = FINE
操做到这里就完成了,能够重启Tomcat感觉一下,也许就能够了。不过我这边启动的速度却卡在了新的地方
org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory
这个问题参考另外一篇博客 烛✟孩
参考文档:yasi_xi