【Spring Boot】org.springframework.beans.factory.support.BeanDefinitionOverrideException

org.springframework.beans.factory.support.BeanDefinitionOverrideException: Invalid bean definition with name
 'dataSource' defined in null: Cannot register bean definition [Generic bean: class [cn.paohe.base.
 datasource.mybatis.DynamicDataSource]; scope=; abstract=false; lazyInit=false; autowireMode=0; 
 dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; 
 factoryMethodName=null; initMethodName=null; destroyMethodName=null] for bean 'dataSource': 
 There is already [Generic bean: class [cn.paohe.base.datasource.mybatis.DynamicDataSource]; scope=; 
 abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; 
 primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; 
 destroyMethodName=null] bound.

解決:

當前的項目框架裏面是可以通過pom文件配置將當前項目打包成整合包(獨立運行項目)和雲服務包(通過公司雲服務平臺爲基礎對外提供服務)兩種類型。

而這個報錯的原因在於workspace裏面開啓的項目pom文件採用的是雲服務包的pom配置信息,但另一位同事提交的時候將整合包的部分配置提交併合併了。

導致到在Maven框架全體打包後發現雲服務包中引用的jar包包含了部分整合包。在啓動的時候出現了重複啓動的情況。

既然重複啓動了,那數據源在框架中肯定也經過多次註冊,最終導致錯誤拋出的問題。

最終重新分解pom配置就解決這個問題了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章