At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger fo

1、文章前言

    本文是亲测有效解决At least one JAR was scanned for TLDs yet contained no TLDs问题,绝对不是为了积分随便粘贴复制而后压根都没有用系列

2、问题描述

    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的后面,问题能暂时解决,而后你会发下如下几个问题

    起做用了,可是当你新加一个jar包不符合规范,烦人的提示又开始了
    只适用于服务器内项目已经固定了的状况,新建一个不一样类项目问题又出现

   3.想过直接关闭TLD检查,在 conf/context.xml的<Context>中添加processTlds="false"也不起做用
3、问题缘由

    1.出现这个问题的缘由就是Tomcat启动时会扫描大量jar包,若是含有不符合TLD规范的就会出现这个问题

    2.之后基本上不会使用JSP做为视图层,因此咱们可能根本不须要TLD这个东西,就算不要TLD也没有什么关系

   3.注意两个启动:一个是从tomcat的bin目录中启动,另一个是从Eclipse中或者别的软件中启动,注意看Eclipse启动部分
4、问题解决
4.1 解决步骤

    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结尾的文件,示例以下

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

 

 



    3.删除tomcat的work目录中的全部文件避免缓存干扰;清空全部logs目录中的日志文件,为了方便查看日志文件
4.2 从Tomcat的Bin目录中启动服务器

    1.如今到bin目录中找到startup.bat(windows:双击便可运行)或startup.sh(Linux:命令 "./startup.sh" 运行)进行启动,发现启动超快,只须要807毫秒

    5.注意:这里只是直接在bin中启动了tomcat服务器,接下来是从Eclipse配置tomcat,经过Eclipse启动服务器
4.3 Eclipse启动Tomcat

    1.若是原来就已经配置过该Tomcat的会发如今Eclipse中启动仍是老样子,每次卡在TLD那里,感受根本没有解决,缘由以下

    Eclipse没有使用配置过的Tomcat,而是使用了自带的Tomcat
    Eclipse中原来配置过该Tomcat,由于Tomcat缓存致使没有生效

    2. 接下在最重要的一步就是删除Eclipse原来配置过的服务器,单击右键选择删除便可

3.建立新的运行环境,改为如今新配置的Tomcat,这样才能让配置生效,配置Tomcat服务器参考文章:https://blog.csdn.net/sinat_34104446/article/details/82721884

4.建立新的服务器以后启动只要482ms

windows

相关文章
相关标签/搜索