# A child container failed during start
排查方案,把.xml 内无关的所有注释掉,启动程序,如果成功了,就一点点代码还原 + 重启,直至找到致命的那行代码!(比如 web.xml、pom.xml)
可能引发错误的问题,如果导入了 tomcat7 的坐标又导入了 servlet-api 坐标那么可能就会发生错误
1.servlet-api 包冲突
- 出现这个问题的原因是导入了 servlet-api 包,与 tomcat7 的依赖包 servlet-api 冲突
- 检查 pom.xml 是否导入 servlet-api
- 加上 <scope>provided</scope > 之后再次运行成功
问题引出:在 SpringMVC 项目中如果我们直接删除了 Servlet-api 这个坐标后可能会引发启动时的报错如下
无法访问javax.servlet.ServletException
此时我们需要加上 Servlet-api 这个一样然后将其在打包时排除即在下面再添加一项 <scope>provided</scope>
具体如下:
<!--servlet-api--> | |
<dependency> | |
<groupId>javax.servlet</groupId> | |
<artifactId>servlet-api</artifactId> | |
<version>2.5</version> | |
<scope>provided</scope> | |
</dependency> |