Spring Boot 工程启动报错"org.springframework.context.ApplicationContextException: Unable to start ..."解决方案

Spring Boot 工程在服务器上启动时候,一直报如下错误:

POD名:xxx-service-2264321674-pdcd7;
部署版本号:1512978430164;
POD阶段:Running;
服务状态:启动失败;
启动日志:
org.springframework.context.ApplicationContextException: Unable to start embedded container; nested exception is org.springframework.context.ApplicationContextException: Unable to start EmbeddedWebApplicationContext due to missing EmbeddedServletContainerFactory bean.
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:133)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:532)
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:118)
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:766)
    at org.springframework.boot.SpringApplication.createAndRefreshContext(SpringApplication.java:361)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:307)
    at com.banksteel.boot.Main.run(Main.java:57)
    at com.banksteel.boot.Main.main(Main.java:37)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:54)
    at java.lang.Thread.run(Thread.java:744)
Caused by: org.springframework.context.ApplicationContextException: Unable to start EmbeddedWebApplicationContext due to missing EmbeddedServletContainerFactory bean.
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.getEmbeddedServletContainerFactory(EmbeddedWebApplicationContext.java:185)
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.createEmbeddedServletContainer(EmbeddedWebApplicationContext.java:158)
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:130)
    ... 13 more

service-start-result0;
POD信息:
暂无。

pom.xml配置文件部分代码片段如下:

    <dependencies>
        <dependency>
            <groupId>com.xxxgroupId>
            <artifactId>xxx-yyy-zzz-apiartifactId>
            <version>1.0.0version>
        dependency>
    dependencies>

原因就是在依赖中需要排除一些跟web相关的jar包,需要增加如下代码:

            <exclusions>
                <exclusion>
                    <groupId>javax.servletgroupId>
                    <artifactId>javax.servlet-apiartifactId>
                exclusion>
            exclusions>

最终该代码片段如下:

    <dependencies>
        <dependency>
            <groupId>com.xxxgroupId>
            <artifactId>xxx-yyy-zzz-apiartifactId>
            <version>1.0.0version>
            <exclusions>
                <exclusion>
                    <groupId>javax.servletgroupId>
                    <artifactId>javax.servlet-apiartifactId>
                exclusion>
            exclusions>
        dependency>
    dependencies>

问题解决。

你可能感兴趣的:(Java)