A child container failed during start

img


maven项目ssm
网络上大部分的解决放案都试了
server-api的些 要加 scope的provided都有就是运行不了

img


报错的
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[/ssmyv700]]
at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:192)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1123)
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:800)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:750)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[/ssmyv700]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
6 more
Caused by: java.lang.ClassCastException: org.springframework.web.SpringServletContainerInitializer cannot be cast to javax.servlet.ServletContainerInitializer
at org.apache.catalina.startup.ContextConfig.getServletContainerInitializer(ContextConfig.java:1670)
at org.apache.catalina.startup.ContextConfig.getServletContainerInitializers(ContextConfig.java:1652)
at org.apache.catalina.startup.ContextConfig.processServletContainerInitializers(ContextConfig.java:1562)
at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1270)
at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:878)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:376)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5322)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)

望采纳!点击该回答右侧的“采纳”按钮即可采纳!!
我建议检查一下以下几点:

1.确保你的 pom.xml 中的依赖已经正确引用,并且这些依赖都已经下载到本地仓库。你可以使用 "mvn dependency:tree" 命令查看依赖树。

2.检查你的 web.xml 文件是否正确配置了各个框架的 servlet 和监听器。

3.确保你的数据库连接信息是正确的,并且你的数据库已经正常启动。

4.如果你使用了 log4j 日志框架,请确保 log4j.properties 配置文件中的日志输出目录是可以写入的。

如果以上几点都检查过了还是运行不了,建议查看一下服务器的日志信息

看看配置文件。


ExecutionException: org.apache.catalina.LifecycleException: Failed to start component

出现该问题一般是:
1、路径多了斜杠或者少了斜杠,看下你的web.xml文件中的中配置的内容是否缺少“/”;
2、在pom.xml中将servlet-api的 dependency标签的scope设置为provided。

这个错误信息表明,在启动你的应用程序时,出现了一个类型转换错误:将 org.springframework.web.SpringServletContainerInitializer 类型转换为 javax.servlet.ServletContainerInitializer 类型时出错。

具体原因可能有很多,但是有一些常见的原因包括:

1、你的应用程序依赖的类版本不一致,导致类型不匹配。
2、你的应用程序依赖的类在运行时被多次加载,导致类型不匹配。
3、你的应用程序依赖的类加载器不同,导致类型不匹配。
为了解决这个问题,你需要先找出具体的原因,然后采取适当的措施进行解决。可能需要修改应用程序代码,更新依赖的库版本,或者修改应用程序的依赖关系。

主要是看这里的报错,可能是你配置Spring的 SpringServletContainerInitializer的时候引错包了,检查下和 SpringServletContainerInitializer 相关的类或者配置文件

Caused by: java.lang.ClassCastException: org.springframework.web.SpringServletContainerInitializer cannot be cast to javax.servlet.ServletContainerInitializer