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配置就解決這個問題了。