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

解决SpringCloud整合Nacos启动报java.lang.IllegalArgumentException: illegal dataId

解决SpringCloud整合Nacos启动报java.lang.IllegalArgumentException: illegal dataId

  • 问题发现
  • 问题解决

问题发现

在跟着Nacos官网学习搭建微服务过程中碰到illegal dataId错误,配置文件如下:

spring:
  application:
    name: sc-nacos-product
  cloud:
    nacos:
      config:
        server-addr: 127.0.0.1:8848

然后启动报错,如图所示:

在这里插入图片描述

问题解决

根据错误意思,配置没有导入,使用spring.config.import=nacos:或者spring.cloud.nacos.config.import-check.enabled=false(但是看官网好像没有引入该配置),然后问了AI该配置如何引入对应配置,如图所示:

在这里插入图片描述
配置文件如下:

spring:
  application:
    name: sc-nacos-product
  config:
    import: nacos://127.0.0.1:8848
  cloud:
    nacos:
      config:
        server-addr: 127.0.0.1:8848

//也不记得在哪看的案例,给他加上去(以为是Nacos地址),启动后报错 illegal dataId,如图所示:

在这里插入图片描述
根据这个错去百度,网上说根据官方解释,如图所示:

在这里插入图片描述
要把这几个都给配置上才会识别,配置文件如下:

spring:
  application:
    name: sc-nacos-product
  config:
    import: nacos://127.0.0.1:8848
  profiles:
    active: dev
  cloud:
    nacos:
      config:
        server-addr: 127.0.0.1:8848
        file-extension: yaml

执行后依旧如此。

然后推到重来,定位到spring.config.import=nacos:配置,看到别人案例好像是配置的spring.application.name,也就说这里其实配置的是Nacos上的文件名,然后修改配置文件如下:

spring:
  application:
    name: sc-nacos-product
  config:
    import: nacos:${spring.application.name}
  profiles:
    active: dev
  cloud:
    nacos:
      config:
        server-addr: 127.0.0.1:8848
        file-extension: yaml

发现启动成功,根据日志可以知道获取到一个空文件,如图所示:
在这里插入图片描述
好像并没有拼接对应的格式,但是Nacos上的配置文件是按照要求设置的,如图所示:

在这里插入图片描述
然后将对应的相关配置删除,直接设置相对应的文件名称,配置文件如下:

spring:
  application:
    name: sc-nacos-product
  config:
    import: nacos:sc-nacos-product-dev.yml
  cloud:
    nacos:
      config:
        server-addr: 127.0.0.1:8848

加载成功,如图所示:

在这里插入图片描述

最后将nacos://127.0.0.1:8848改成nacos:127.0.0.1:8848发现也可以启动成功,在nacos的源码中回去切割内容,如图所示:

在这里插入图片描述
这也证实了配置内容格式错误,粗心大意了。

相关文章:

  • 设计C语言的单片机接口
  • Springdoc 全部注解一文解释清楚
  • Python的Pytest测试框架(1)
  • 实验一:统计字符个数
  • 【QT】-toUtf8() 和 toBase64()的区别
  • mysql5.7主从部署(docker-compose版本)
  • 【责任链模式的多种实现方式及其应用】
  • Modbus协议
  • LeetCode[142] 环形链表 II
  • 【C++】memset和memcpy函数
  • 案例驱动的 IT 团队管理:创新与突破之路:第二章 团队组建:从人才画像到生态构建-2.2.2案例:某游戏公司“特种作战小组“模式
  • NAT及P2P通信
  • 本地部署deepseek-r1建立向量知识库和知识库检索实践【代码】
  • defineExpose函数
  • matlab R2024b下载教程及安装教程(附安装包)
  • 嵌入式面经-C语言:智能指针,`#define` 和 `const`,`typedef`,头文件中定义静态变量
  • turfjs多边形切割多边形求交集
  • centos 如何将 nginx reload权限给其他用户
  • Linux安装部署Elasticsearch8 全过程记录
  • Nodejs使用redis
  • 亮剑浦江丨上海网信部门处罚一批医疗服务类互联网企业,三大类问题值得关注
  • 央行副行长:研究建立民营中小企业增信制度,破解民营中小企业信用不足等融资制约
  • 这场迪图瓦纪念拉威尔的音乐会,必将成为乐迷反复品味的回忆
  • 银川市长信箱被指“已读乱回”,官方通报:对相关责任人问责处理
  • 中日友好医院通报“医师肖某被举报”:基本属实,开除党籍并解聘
  • 伊朗南部港口火势蔓延,部分集装箱再次发生爆炸