当前位置: 首页 > article >正文

springboot项目启动报错:dynamic-datasource can not find primary datasource

项目启动报错信息

Caused by: com.baomidou.dynamic.datasource.exception.CannotFindDataSourceException: dynamic-datasource can not find primary datasource
	at com.baomidou.dynamic.datasource.DynamicRoutingDataSource.determinePrimaryDataSource(DynamicRoutingDataSource.java:91)
	at com.baomidou.dynamic.datasource.DynamicRoutingDataSource.getDataSource(DynamicRoutingDataSource.java:120)
	at com.baomidou.dynamic.datasource.DynamicRoutingDataSource.determineDataSource(DynamicRoutingDataSource.java:78)
	at com.baomidou.dynamic.datasource.ds.AbstractRoutingDataSource.getConnection(AbstractRoutingDataSource.java:48)
	at com.baomidou.dynamic.datasource.ds.AbstractRoutingDataSource$$FastClassBySpringCGLIB$$dffddd61.invoke(<generated>)
	at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:793)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763)
	at io.seata.spring.annotation.datasource.SeataAutoDataSourceProxyAdvice.invoke(SeataAutoDataSourceProxyAdvice.java:57)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763)
	at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:708)
	at com.baomidou.dynamic.datasource.DynamicRoutingDataSource$$EnhancerBySpringCGLIB$$606bf0df.getConnection(<generated>)
	at io.seata.rm.datasource.DataSourceProxy.init(DataSourceProxy.java:101)
	at io.seata.rm.datasource.DataSourceProxy.<init>(DataSourceProxy.java:96)
	at io.seata.rm.datasource.DataSourceProxy.<init>(DataSourceProxy.java:81)
	at io.seata.spring.annotation.datasource.DataSourceProxyHolder.createDsProxyByMode(DataSourceProxyHolder.java:97)
	at io.seata.spring.annotation.datasource.DataSourceProxyHolder.putDataSource(DataSourceProxyHolder.java:88)
	at io.seata.spring.annotation.datasource.SeataDataSourceBeanPostProcessor.postProcessAfterInitialization(SeataDataSourceBeanPostProcessor.java:58)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsAfterInitialization(AbstractAutowireCapableBeanFactory.java:455)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1808)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:620)
	... 100 common frames omitted

报错原因分析

1.可能是引入了多数据源又没有使用,导致的报错

解决方案

注释掉上边两个依赖

		<!-- Druid -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>${druid.version}</version>
        </dependency>

        <!-- Dynamic DataSource -->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
            <version>${dynamic-ds.version}</version>
        </dependency>

2.我的项目中使用了多数据源,所以这种解决方式不可行

查看maven的配制文件,看是否加载了配制信息

在这里插入图片描述
看这块是否选择了正确的环境。

3.我的项目中使用的是本地环境,也就是local,然后我就去跟了下代码

在这里插入图片描述
在这里插入图片描述
发现这里报错500,报错信息为:config data not exist。
说明没有获取到nacos上的配制文件,我又去检查了下pom.xml文件。
在这里插入图片描述
查看后发现本地环境上配置的nacosNamespace不对,更改之后启动成功。

4.如果pom.xml文件能跟nacos对应上,但是启动报错,可能是有缓存,可重启nacos


http://www.kler.cn/a/231939.html

相关文章:

  • Servlet快速入门
  • 66,【6】buuctf web [HarekazeCTF2019]Avatar Uploader 1
  • 路径规划之启发式算法之二十八:候鸟优化算法(Migrating Birds Optimization, MBO)
  • GS论文阅读--GeoTexDensifier
  • apisix的authz-casbin
  • 使用Edge打开visio文件
  • 《Git 简易速速上手小册》第7章:处理大型项目(2024 最新版)
  • 黑豹程序员-ElementPlus选择图标器
  • 04 使用gRPC实现客户端和服务端通信
  • Go语言Gin框架安全加固:全面解析SQL注入、XSS与CSRF的解决方案
  • 倒计时61天
  • 实景三维数据库管理系统助力实景三维中国建设
  • 【C++修行之道】(引用、函数提高)
  • CMake编译JSONCPP库
  • JCIM | MD揭示PTP1B磷酸酶激活RtcB连接酶的机制
  • 视频上传 - 断点续传那点事
  • 相机图像质量研究(3)图像质量测试介绍
  • L1-088 静静的推荐
  • vue3+threejs+koa可视化项目——模型文件上传(第四步)
  • 2024年:用OKR管理你的生活
  • 简单说网络:TCP+UDP
  • 上海泗博HART转ModbusTCP网关HME-635应用案例之组态王和超声波液位计通信
  • 解决“org.apache.catalina.startup.Catalina.stopServer 未配置关闭端口。通过OS信号关闭服务器。服务器未关闭“
  • c++阶梯之类与对象(中)< 续集 >
  • Mac利用brew安装mysql并设置初始密码
  • <网络安全>《15 移动安全管理系统》