乘风原创程序

  • nacos配置中心远程调用读取不到配置文件的解决
  • 2022/1/10 14:16:51
  • nacos配置中心远程调用读取不到配置文件

    1、由于公司要求,对nacos做了命名空间的配置。(这个开始我步入了迷途。。。。)

    为了更好的区分配置文件,我们创建了两个命名空间,dev和test,在学习的时候,我们并未创建这些命名空间,所以一直正常使用,创建命名空间后我们无法读取到配置文件。

    那么添加命名空间后需要在配置文件中支持命名空间,类似你创建了group,你就一定要在配置文件中指定group,不然也是无法调用配置文件的。我们使用默认的group,是不需要配置的。

    配置文件如下:

    server:
      port: 8001
    spring:
      application:
        name: mycloud-gateway
      cloud:
        nacos:
          config:
            file-extension: yml
            server-addr: http://baidu.top
            namespace: b5ccc73d-b020-46b9-8f5f-cc88062d4fc0
          discovery:
            server-addr: http://baidu.top
      profiles:
        active: dev

    下面引用官方文档的一段内容

    在 bootstrap.properties 中配置 nacos server 的地址和应用名

    spring.cloud.nacos.config.server-addr=127.0.0.1:8848?
    spring.application.name=example

    说明:之所以需要配置 spring.application.name ,是因为它是构成 nacos 配置管理 dataid字段的一部分。

    在 nacos spring cloud 中,dataid 的完整格式如下:

    ${prefix}-${spring.profile.active}.${file-extension}
    • prefix 默认为 spring.application.name 的值,也可以通过配置项 spring.cloud.nacos.config.prefix来配置。
    • spring.profile.active 即为当前环境对应的 profile,详情可以参考 spring boot文档。 注意:当 spring.profile.active 为空时,对应的连接符 - 也将不存在,dataid 的拼接格式变成 ${prefix}.${file-extension}
    • file-exetension 为配置内容的数据格式,可以通过配置项 spring.cloud.nacos.config.file-extension 来配置。目前只支持 properties 和 yaml 类型。

    初学的时候一定要看官方文档

    在本地项目中配置nacos相关信息不起作用排查

    读取不到nacos配置中心内容的坑

    这真的太逆天了,我服了

    这是出错的配置

    image-20211031174705257

    报错内容:

    image-20211031174723024

    确定其他都没有问题,但就是读不到配置。

    这是正确的配置

    image-20211031174800095

    excuse me ??? 换了无数个springcloud springboot 和 nacos的版本,windows平台linux平台全部试过去,结果就是因为这个写错了(而且我还不知道这到底是错哪了,有什么区别…)

    浪费了我三个小时时间,大家有则改之,无则加勉。

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持本教程网。