解决:一个JAR被扫描用于TLD但尚未包含TLD问题

两种情况,一种是从命令行启动tomcat,一种是用ide启动tomcat。

命令行启动

如果你是从命令行启动tomcat的,请用记事本打开以下文件:

tomcat的安装目录\conf\catalina.properties

然后,找到

tomcat.util.scan.StandardJarScanFilter.jarsToSkip

这一行,记住,只需要改动这一行!
原来是

tomcat.util.scan.StandardJarScanFilter.jarsToSkip=\

然后下面有一堆.jar包,我们不用管。直接把这一行改成

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

即可。你可以复制黏贴。不需要动其他任何东西,重新启动tomcat。

ide启动

此处以eclipse启动为例
假设你已经配置了Service,那么你在Project Explor中找到Service文件夹。
![图片说明](https://uploadfiles.nowcoder.com/images/20200419/8684290_1587233877457_95D28989F53311ECAC4BD63839659A36 "图片标题")
找到这个catalina.properties。大概在108行的位置
修改如下
![图片说明](https://uploadfiles.nowcoder.com/images/20200419/8684290_1587234017128_4A55BD28F365D4290D96D21AABB66215 "图片标题")

结果如下

改动前
![图片说明](https://uploadfiles.nowcoder.com/images/20200419/8684290_1587233951372_3047981C159FBF239F836BE647A7C556 "图片标题")
改动后
![图片说明](https://uploadfiles.nowcoder.com/images/20200419/8684290_1587234055001_66BC7A98C115BDA65BE7CD0ADDFB4021 "图片标题")
快了十多倍呢。

原因

tomcat启动时会扫描一些包,通过设置这个参数不让它扫描就好了。
只要你的程序还能运行,就不需要将这个修改重新改回去。