Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说(完美解决)Tomcat启动提示At least one JAR was scanned for TLDs yet contained no TLDs,希望能够帮助你!!!。
目录
一、文章前言
二、问题描述
三、问题原因
四、问题解决
4.1 解决步骤
4.2 从Tomcat的Bin目录中启动服务器
4.3 Eclipse启动Tomcat
本文是亲测有效解决At least one JAR was scanned for TLDs yet contained no TLDs问题,绝对不是为了积分随便粘贴复制然后压根都没有用系列
1.今天测试发现Tomcat启动贼慢,当然这个不是随机数问题,而是每次卡在At least one JAR was scanned for TLDs yet contained no TLDs这个位置要好半天,而且还是在只有一个项目的情况下!
2.参考别的文章说编辑logging.properties 文件,在文件末尾添加,org.apache.jasper.servlet.TldScanner.level = FINE,启动服务器,然后在控制台看到什么No的输出提示,保存在某一个文件中,然后接下来将文件中提示的jar包再添加到catalina.properties 文件中的 tomcat.util.scan.StandardJarScanFilter.jarsToSkip的后面,问题能暂时解决,然后你会发下以下几个问题
3.想过直接关闭TLD检查,在 conf/context.xml的<Context>中添加processTlds="false"也不起作用
1.出现这个问题的原因就是Tomcat启动时会扫描大量jar包,如果含有不符合TLD规范的就会出现这个问题
2.以后基本上不会使用JSP作为视图层,所以我们可能根本不需要TLD这个东西,就算不要TLD也没有什么关系
3.注意两个启动:一个是从tomcat的bin目录中启动,另外一个是从Eclipse中或者别的软件中启动,注意看Eclipse启动部分
1.可以在Tomcat安装目录下apache-tomcat-9.0.1\conf\catalina.properties文件中看到有以下一串代码,代表的是在启动Tomcat需要跳过检查的jar包
2.那么解决办法就是跳过所以jar包的TLD检查,将所有tomcat.util.scan.StandardJarScanFilter.jarsToSkip=后面的所有通过\连接的这些.jar全部删除(操作之前请备份源文件),直接给tomcat.util.scan.StandardJarScanFilter.jarsToSkip赋值"*.jar","*.jar"代表跳过所有以.jar结尾的文件,示例如下
3.删除tomcat的work目录中的所有文件避免缓存干扰;清空所有logs目录中的日志文件,为了方便查看日志文件
1.现在到bin目录中找到startup.bat(windows:双击即可运行)或startup.sh(Linux:命令 "./startup.sh" 运行)进行启动,发现启动超快,只需要807毫秒
5.注意:这里只是直接在bin中启动了tomcat服务器,接下来是从Eclipse配置tomcat,通过Eclipse启动服务器
1.如果原来就已经配置过该Tomcat的会发现在Eclipse中启动还是老样子,每次卡在TLD那里,感觉根本没有解决,原因如下
2. 接下在最重要的一步就是删除Eclipse原来配置过的服务器,单击右键选择删除即可
3.创建新的运行环境,改成现在新配置的Tomcat,这样才能让配置生效,配置Tomcat服务器参考文章:(完美解决)Tomcat启动提示At least one JAR was scanned for TLDs yet contained no TLDs
4.创建新的服务器之后启动只要482ms
今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
上一篇
已是最后文章
下一篇
已是最新文章