彻底解决tomcat控制台提示至少有一个JAR被扫描用于TLD但尚未包含TLD的问题

本文详细介绍了在使用Tomcat 8.5.51时遇到的控制台提示至少有一个JAR被扫描用于TLD但未包含TLD的问题。通过在`catalina.properties`和`logging.properties`文件中进行配置调整,以及优化`StandardJarScanFilter.jarsToSkip`,成功解决了控制台警告,并减少了启动时间和JSP编译时间。同时,文中还分享了作者的个人学习与工作经验。
摘要由CSDN通过智能技术生成

tomcat版本为8.5.51

tomcat在启动时,控制台会打印出如下信息:

org.apache.jasper.servlet.TldScanner.scanJars 至少有一个JAR被扫描用于TLD但尚未包含TLD。 为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。 在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编译时间。

这是tomcat在扫描包含tld文件的jar时发现有未包含tld文件的jar。解决办法就是不让tomcat扫描jar就行了。于是度娘一通发现了一些解决翻案,第一个尝试的方案就是在tomcat根目录下的conf文件夹下的catalina.properties(记得备份这个文件)中,找到tomcat.util.scan.StandardJarScanFilter.jarsToSkip并修改为如下配置:

tomcat.util.scan.StandardJarScanFilter.jarsToSkip=*.jar?

即下图:

然后启动tomcat,发现控制台真的没有提示信息了,心中大喜。

但是,你以为这样就结束了?图样图森破……

当你访jstl标签时,就会出现以下界面:

无法解析uri:[http://java.sun.com/jsp/jstl/core]

严重: Servlet.service() for servlet [jsp] in context with path [] threw exception [xxx.jsp (行.: [4], 列: [0]) 无法在web.xml或使用此应用程序部署的jar文件中解析绝对uri:[http://java.sun.com/jsp/jstl/core]] with root cause
org.apache.jasper.JasperException: xxx.jsp (行.: [4], 列: [0]) 无法在web.xml或使用此应用程序部署的jar文件中解析绝对uri:[http://java.sun.com/jsp/jstl/core]

有兴趣了解原因的可以参看这篇文章https://www.jianshu.com/p/18a75344b9f9[这里是图片004]https://www.jianshu.com/p/18a75344b9f9

那么继续度娘吧,在看到了这篇文章后http://t.csdn.cn/uf37F,**需要先把开始设置的tomcat.util.scan.StandardJarScanFilter.jarsToSkip还原!!!**按照文章步骤进行设置,尝试了多次,并没有发现日志中出现扫描jar的信息。

后来看到这篇文章日志记录-如何修复JSP编译器警告:扫描了一个JAR中的TLD,但其中不包含TLD? - ITranslater

在第二个回答中说是需要在conf/logging.properties中添加以下代码

org.apache.jasper.servlet.TldScanner.level = FINE

并不是org.apache.jasper.compiler.TldLocationsCache.level = FINE。按照文章说的设置之后,清除下以下两个文件夹conf/Catalina和work目录,重启tomcat。然后找到tomcat根目录下的logs文件夹中的catalina开头的log文件(tomcat控制台也有打印),打开后你会发现有以下一堆的内容

org.apache.jasper.servlet.TldScanner$TldScannerCallback.scan No TLD files were found in [file:/E:/webserver/tomcat-8.5.51-gts/webapps/ROOT/gts-web/WEB-INF/lib/commons-net-3.1.jar]. Consider adding the JAR to the tomcat.util.scan.StandardJarScanFilter.jarsToSkip property in CATALINA_BASE/conf/catalina.properties file.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值