org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned f

项目场景:

在搭建 SSM + dubbo 系统框架过程中


问题描述:

搭建过程完成后,一直尝试启动,单体SSM服务一直启动失败
服务报错如下:
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.


原因分析:

  1. 出现这个问题的原因就是Tomcat启动时会扫描大量jar包,如果含有不符合TLD规范的就会出现这个问题
  2. 以后基本上不会使用JSP作为视图层,所以我们可能根本不需要TLD这个东西,就算不要TLD也没有什么关系
  3. 注意两个启动:一个是从tomcat的bin目录中启动,另外一个是从IDEA中或者别的软件中启动,注意看IDEA启动部分

解决方案:

查看了服务器输出: 没有具体报那里错误。

网上百度: 大部分解决办法就是跳过所以jar包的TLD检查,将所有tomcat.util.scan.StandardJarScanFilter.jarsToSkip=后面的所有通过\连接的这些.jar全部删除(操作之前请备份源文件),直接给tomcat.util.scan.StandardJarScanFilter.jarsToSkip赋值".jar",".jar"代表跳过所有以.jar结尾的文件,示例如下
tomcat.util.scan.StandardJarScanFilter.jarsToSkip=*.jar

实际解决方法: 通过对pom.xml与项目所需的包判断,项目中少导入了spring-beans
重新导入:

        <dependency>
            <groupId>org.springframeworkgroupId>
            <artifactId>spring-beansartifactId>
            <version>${spring.version}version>
        dependency>

结果:启动成功!

你可能感兴趣的:(日常Bug,Spring,tomcat,ssm,spring)