Royi-cloud启动服务报错Invalid bound statement (not found): com.rk.system.mapper.SysConfigMapper.selectConf
问题
今天在用Royi-cloud写自己的微服务项目时,启动系统服务的时候一直报错:Invalid bound statement (not found): com.rk.system.mapper.SysConfigMapper.selectConfig
,并且最下面还有几句话:
[Thread-1] WARN c.a.n.c.h.HttpClientBeanHolder - [shutdown,108] - [HttpClientBeanHolder] Start destroying common HttpClient
11:45:23.456 [Thread-5] WARN c.a.n.c.n.NotifyCenter - [shutdown,136] - [NotifyCenter] Start destroying Publisher
11:45:23.456 [Thread-5] WARN c.a.n.c.n.NotifyCenter - [shutdown,153] - [NotifyCenter] Destruction of the end
11:45:23.456 [Thread-1] WARN c.a.n.c.h.HttpClientBeanHolder - [shutdown,114] - [HttpClientBeanHolder] Destruction of the end
原因
出现这个问题的原因是服务没有读取到nacos上面的配置文件,我们看一下配置文件bootstrap.yml
中的配置是否有问题。
如果配置没有问题的话,可能使用的nacos版本太高了,nacos
版本 2.x.x
以上会存在一些问题,我们需要在maven中引入一个依赖:
<!--新版本nacos需要bootstrap依赖,否则拿不到配置-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
<version>${bootstrap.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
引入这个以来后一般都能成功运行了。
问题2
在引用公共模块的时候,如果出现一个问题是:
Field redisService in com.rk.gateway.service.impl.ValidateCodeServiceImpl required a bean of type ‘com.rk.common.redis.service.RedisService’ that could not be found.
我们可以在启动类上添加:
@ComponentScan(basePackages = {"com.rk.common.redis.service"})
位置是该公共功能类所在的包。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)