解决Unable to start embedded container SpringBoot启动报错问题
作者:岸河
Unable to start embedded container SpringBoot启动报错
自己手动创建的一个SpringBoot工程,添加的依赖,报了这个错,
然后百度没看到明显的错误
org.springframework.context.ApplicationContextException: Unable to start embedded container; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'tomcatEmbeddedServletContainerFactory'
往下看最根本的报错信息
Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.hibernate.validator.internal.engine.ConfigurationImpl
嗯嗯,是这个类ConfigurationImpl出问题了,憋说了点进去看看翻一翻
初看,一切正常~~
往下看,嗯?
怎么日志这里报错了,代码是红的,
感觉应该是这里出了问题,点进去继续看看,???怎么全报红了
全红,有大问题呀,看一下这是什么依赖,jboss依赖,然后突然想到了,这个依赖有问题?
用IDEA看一下依赖关系,这里报错了,再去maven仓库看一下
依赖为空。。。。。这就是原因了。。。。。
重新导入jar就可以了(我是因为本地有两个maven仓库,配置的时候没注意,所以没找到)
梳理一下过程
spring-boot-starter-web依赖于hibernate-validator,然后这个继续向下依赖与jboss-logging,这个找不到,所以报错
hibernate-validator内部实现了一个日志框架,是基于jboss-logging开发的(jboss-logging和slf4j一样,都是门面日志框架,提供一些列日志接口规范,供其他人实现,谁都可以实现,SpringBoot默认使用的logback日志框架就给予slf4j的)
注意:
SpringBoot启动报错,先看依赖
小疑问:
依赖报错,pom文件为什么不报错呢,有点浪费时间呀!!!
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。