问题:
  org.apache.jasper.servlet.TldScanner.scanJars 至少有一个JAR被扫描用于TLD但尚未包含TLD。 为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。 在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编译时间。
  org.apache.catalina.core.StandardContext.startInternal 一个或多个listeners启动失败,更多详细信息查看对应的容器日志文件。
  org.apache.catalina.core.StandardContext.startInternal 由于之前的错误,Context[]启动失败
原因:
前提:项目tomcat配置是成功的,因为访问页面是报的404;数据库连接也是成功的。由于这个问题,导致我在浏览器访问项目时,报了404错误,排查了一轮,不是因为程序打包war包时错误,而是项目里依赖的jar出现问题。
在这里插入图片描述
解决方法:
  我是直接改版本,去maven的中央仓库找最新的,把版本号抄下来,maven自动下载好了。之前是用1.1.21版的,改用1.2.8版的。
  maven中央仓库的网址:https://mvnrepository.com/
在这里插入图片描述
解决完以上问题,重新启动Tomcat,再访问项目还是报404错误。
  回项目结构再检查,发现新版本下载后还是报红在这里插入图片描述
  到本地仓库去查看是不是下载出现问题。
在这里插入图片描述
  jar文件大小是3616kb的,也不是空包啊。在项目里刷新一下,也是能看到druid依赖已经添加进来了呀。
在这里插入图片描述
  又排查了一轮,可能是因为扫描jar包冲突引起的,要修改一下Tomcat的【catalina.properties】配置文件。
  修改为:tomcat.util.scan.StandardJarScanFilter.jarsToSkip=*.jar
在这里插入图片描述
  为什么要这样修改,可以看一下这个博主的文章。
  原文链接:https://blog.csdn.net/IT_Migrant_worker/article/details/105006081
    配置文件中默认的一些类tomcat已经设置。
    如果有jar包冲突的可以这个中添加忽略
    tomcat.util.scan.DefaultJarScanner.jarsToSkip
    如果有jar包需要扫描可以在中添加
    tomcat.util.scan.StandardJarScanFilter.jarsToScan

————————————————报错一解决————————————————————






问题: org.apache.catalina.core.StandardContext.startInternal 一个或多个listeners启动失败,更多详细信息查看对应的容器日志文件。
百度找到的问题出处: 在项目部署运行环境下,项目依赖的jar包没有导入到项目部署的环境中,说白话就是部署环境中缺少jar包,因为我这个项目是引入的,不是在IDEA新建的,IDEA不会自动添加项目依赖的jar包到WEB-INF/lib目录.所以创建web项目时,如果要使用Maven作为项目管理工具,尽量选择Maven提供的项目架构即可避免。

1.删除原编译的target包,重新编译再生成。
2.重构项目【Project Structure——Artifacts
  把没添加进来的jar包添加进来。
在这里插入图片描述
在这里插入图片描述
重新添加jar包,再启动还是不行!!!
  查了很多资料,得出——如果项目配置了监听器Listener,项目启动会失败,报错org.apache.catalina.core.StandardContext.startInternal 一个或多个listeners启动失败,更多详细信息查看对应的容器日志文件。
  注释了监听器的配置代码,可以启动了,我Tomcat版本是10.0.17,更换为Tomcat8版本的正常启动了。
————————————————报错二解决————————————————————





问题: Context[]启动失败
问题出处: 配置文件报错——统一资源标识符没有注册
在这里插入图片描述
解决方法: 添加标识符
在这里插入图片描述
在这里插入图片描述
————————————————报错三解决————————————————————

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐