spring boot启动找不到ServletWebServerFactory bean
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring boot启动找不到ServletWebServerFactory bean相关的知识,希望对你有一定的参考价值。
参考技术A spring boot项目需要打包为war包,按照官网的操作:在做了这两个操作之后,打包成war包是没有问题,但是本地运行spring boot项目的时候报错了,最主要的错误信息是:Unable to start ServletWebServerApplicationContext due to missing ServletWebServerFactory bean
按照错误日志,一步步debug
具体spring boot怎么初始化tomcat的,请搜索其他资料。我们主要用到的是这个类TomcatServletWebServerFactory
看到这边我们就大概可以定位到问题了,就是TomcatServletWebServerFactory这个类没有被初始化。
所以思考下我们做了什么操作?我们将tomcat包设置了 <scope>provided</scope> ,我们本意是打包的时候才不需要将这个包加入lib里面,正常调试编译是可以编译到的,那么可不可能是编译器的问题呢?
我们打开idea运行时的配置Run=>Edit configurations
好了,看到这里,问题就知道怎么解决了,原先这个没打勾,也就是运行的时候,不会将 <scope>provided</scope> 的包加入编译,我们将这个打钩,重新运行一下,问题就解决了。
这个参数跟idea版本有关系,在下面这个版本之后就被默认打钩了。
启动boot spring 测试类报找不到jar错,而这个包是自己新建的包
遇到这类关于jar包无解的问题,就去maven里面清楚,然后再安装就可以了
以上是关于spring boot启动找不到ServletWebServerFactory bean的主要内容,如果未能解决你的问题,请参考以下文章
Liquibase maven:spring-boot启动时找不到更改日志位置
新建spring-boot maven mybatis 工程,启动时报找不到Mapper可能的原因
spring boot启动找不到ServletWebServerFactory bean