自己手動創建的一個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文件爲什麼不報錯呢,有點浪費時間呀!!!