开发者

解决程序启动报错org.springframework.context.ApplicationContextException: Unable to start web server问题

目录
  • 一、场景
  • 二、报错信息
  • 三、原因
  • 四、解决
  • 总结

一、场景

1、该项目在linux和本机电脑上启动都正常

2、在另一台电脑上启动就报错

3、代码都是同一份,没有差别

二、报错信息

org.springframework.context.ApplicationContextException: Unable to start web server; nested exception qWhPvis org.springframework.context.ApplicationContextException: Unable to start ServletWebServerApplicationContext due to missing ServletWebServerFactory bean.

    at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.Java:157)

    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:543)

    at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:142)

    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:775)

    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397)

    at org.springframework.boot.SpringApplication.run(SpringApplication.pythonjava:316)

    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1260)

    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1248)

    at com.xxx.RobotManagerSvr.main(RobotManagerSvr.java:32)

Caused by: org.springframework.context.ApplicationContextException: Unable to start ServletWebServerApplicationContext due to missing ServletWebServerFactory bean.

    at org.springframework.boot.web.servlet.context.ServletWebServerApplijscationContext.getWebServerFactory(ServletWebServerApplicationContext.java:206)

    at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebS编程erver(ServletWebServerApplicationContext.java:180)

    at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:154)

    ... 8 common frames omitted

三、原因

导入spring-boot-starter-tomcat依赖时定义的scope导致

原依赖导入配置

<dependency>
	&lphpt;groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-tomcat</artifactId>
    <!--是provided导致-->
	<scope>provided</scope>
</dependency>

四、解决

调整后依赖导入配置

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-tomcat</artifactId>
    <!--测试时先注释该配置-->
	<!--<scope>provided</scope>-->
</dependency>

注:

  • 本机就算是provided也能正常启动
  • 另一台电脑上就不行
  • 应该是运行环境上的差异

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程客栈(www.devze.com)。

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新开发

开发排行榜