[Exception]spring-boot Failed to start component [StandardServer[-1]]
2017-08-23 00:00
561 查看
[Exception]spring-boot Failed to start component [StandardServer[-1]]
标签: exceptionspring-boo2016-05-17 13:53 4796人阅读 评论(4) 收藏 举报
分类:
spring(7)
springboot exception Java(18)
版权声明:本文为博主原创文章,未经博主允许不得转载。
在使用spring-boot时,使用了其他的模块,导致spring-boot启动总是失败。
错误堆栈:
2016-05-17 13:45:06,131 [ERROR] [main] [org.springframework.boot.SpringApplication.run(SpringApplication.java:339)] Application startup failed org.springframework.context.ApplicationContextException: Unable to start embedded container; nested exception is org.springframework.boot.context.embedded.EmbeddedServletContainerException: Unable to start embedded Tomcat at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:132) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:532) at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:117) at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:689) at org.springframework.boot.SpringApplication.run(SpringApplication.java:321) at org.springframework.boot.SpringApplication.run(SpringApplication.java:969) at org.springframework.boot.SpringApplication.run(SpringApplication.java:958) at com.longdai.notify.schedule.Application.main(Application.java:23) Caused by: org.springframework.boot.context.embedded.EmbeddedServletContainerException: Unable to start embedded Tomcat at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.initialize(TomcatEmbeddedServletContainer.java:98) at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.<init>(TomcatEmbeddedServletContainer.java:75) at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory.getTomcatEmbeddedServletContainer(TomcatEmbeddedServletContainerFactory.java:377) at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory.getEmbeddedServletContainer(TomcatEmbeddedServletContainerFactory.java:155) at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.createEmbeddedServletContainer(EmbeddedWebApplicationContext.java:156) at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:129) ... 7 common frames omitted Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardServer[-1]] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) at org.apache.catalina.startup.Tomcat.start(Tomcat.java:337) at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.initialize(TomcatEmbeddedServletContainer.java:88) ... 12 common frames omitted Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardService[Tomcat]] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:769) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ... 14 common frames omitted Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat]] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) at org.apache.catalina.core.StandardService.startInternal(StandardService.java:439) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ... 16 common frames omitted Caused by: org.apache.catalina.LifecycleException: A child container failed during start at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:924) at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ... 18 common frames omitted
具体的错误原因可能堆栈中并没有显示,只是提示tomcat组件启动失败,这个时候就需要调试进入源码去分析,如我的是:
javax.servlet.ServletContext.addServlet(Ljava/lang/String;Ljavax/servlet/Servlet;)Ljavax/servlet/ServletRegistration$Dynamic;
经过分析原来是接口addServlet(String, Servlet)不存在,在仔细分析发现加载的是 servlet-api-2.5.jar, 而spring-boot-starter-tomcat才是正确的,然后找到依赖servlet-api.jar的组件,然后排除掉就行, 如maven:
<exclusion> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> </exclusion>
或者:加上optional为true,包不继承
<dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> <optional>true</optional> </dependency>
相关文章推荐
- [Exception]spring-boot Failed to start component [StandardServer[-1]]
- SpringBoot 启动服务器失败 报错 spring-boot Failed to start component [StandardServer[-1]]
- IntelliJ IDEA启动spring boot项目出现Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].TomcatEmbeddedContext[]]
- org.apache.catalina.LifecycleException: Failed to start component [StandardServer[8005]]
- springboot出现 Failed to start component [StandardEngine[Tomcat].StandardHost[localhost]]
- springboot打jar包部署 出现 Failed to start component [StandardEngine[Tomcat].StandardHost[localhost]]
- LifecycleException: Failed to start component [StandardServer[8005]]
- org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].Standard
- org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/localhost]]
- org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].Standard
- Failed to start component [StandardServer[8005]]
- Failed to start component [StandardServer[8005]] 遇到的问题
- Tomcat启动报错 Failed to start component [StandardServer[8005]]解决
- org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].Standard
- Tomcat启动报错 Failed to start component [StandardServer[8005]]解决
- Eclipse中部署项目时,Tomcat启动报错 “Failed to start component [StandardServer[8005]]”的解决
- org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].Standard
- org.apache.catalina.LifecycleException: Failed to start component [StandardService[Catalina]]
- org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHo
- org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].Standard