13.5 SpringBoot应用启动错误org.apache.catalina.LifecycleException

===

错误日志

org.apache.catalina.LifecycleException: A child container failed during start

原因分析

项目依赖里面单独指定了servlet-api,类路径里面有多个版本servlet-api,导致类冲突

<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>${servlet-api-version}</version>
<scope>provided</scope>
</dependency>

解决方案

在Springboot中,不要单独指定下面几个依赖的版本,默认使用Springboot的配置完的依赖即可:

providedCompile('org.springframework.boot:spring-boot-starter-tomcat')
compile('javax.servlet:jstl')
providedCompile('org.apache.tomcat.embed:tomcat-embed-jasper')