Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could ...

一、问题背景

利用Nacos作为配置中心和注册中心,将数据库配置放在项目的yml文件时正常输出,放在Nacos配置中出现如下问题

二、报错截图如下

三、我的项目配置如下

#微服务配置
spring:
  application:
    name: content-api # 服务名content-api-dev.yaml
  cloud:
    nacos:
      server-addr: 127.0.0.1:8848
      discovery: #服务注册相关配置
        namespace: d30c3e20-af6b-4bd5-9993-d4a9eacaedad
        group: xuecheng-plus-project
#        server-addr: 127.0.0.1:8848
      config: #配置文件相关配置
        namespace: d30c3e20-af6b-4bd5-9993-d4a9eacaedad
        group: xuecheng-plus-project
        file-extension: yaml
        refresh-enabled: true
  profiles:
    active: dev       # 环境名称
四、分析问题

(1) 利用nacos客户端获取配置

@Test
    void contextLoads() {
        try {
            Properties properties = new Properties();
            properties.put("serverAddr", "127.0.0.1:8848");
            properties.put("namespace", "d30c3e20-af6b-4bd5-9993-d4a9eacaedad");
            ConfigService configService = NacosFactory.createConfigService(properties);
            String contentInfo = configService.getConfig("content-api-dev.yml", "xuecheng-plus-project", 1000L);
            System.out.println("contentInfo:" + contentInfo);
        } catch (NacosException e) {
            throw new RuntimeException(e);
        }
    }


说明Nacos配置正常,可以获取

五、问题原因

日志中dataId是content-api.yaml, 而Nacos中配置文件名称是content-api-dev.yml,仔细对比yml后发现file-extension属性写错了yaml

(2)出现加载的配置是父模块中application.properties中定义的应用名称,处理方式是在子模块处同样加个application.properties文件,即使是空的

六、解决方式

修改后的yml配置,将file-extension属性换成了yml

#微服务配置
spring:
  application:
    name: content-api # 服务名content-api-dev.yaml
  cloud:
    nacos:
      server-addr: 127.0.0.1:8848
      discovery: #服务注册相关配置
        namespace: d30c3e20-af6b-4bd5-9993-d4a9eacaedad
        group: xuecheng-plus-project
      config: #配置文件相关配置
        namespace: d30c3e20-af6b-4bd5-9993-d4a9eacaedad
        group: xuecheng-plus-project
        file-extension: yml
        refresh-enabled: true
  profiles:
    active: dev       # 环境名称
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值