解决:Nacos无法获取远程配置数据,导致项目启动各种配置异常

解决:Nacos无法获取远程配置数据,导致项目启动各种配置异常

  • 一·问题描述:
    • 1.项目pom依赖版本:
    • 2.bootstrap.yml配置信息
    • 3.远程配置:默认public命名空间
    • 4.启动报异常,显示没有配置数据源,实际远程已经配置了,也就是说没有成功拉取到远程配置数据
  • 二·问题原因:
    • 1.远程配置文件的DataId没有加`yaml`后缀名,导致项目获取远程配置数据失败,从而引发项目启动异常
  • 三·解决方案:
    • 1.注意SpringCloud、SpringCloudAlibaba、SpringBoot、Nacos的组件版本匹配
      • 1-1 推荐两套版本组合依赖:
      • 1-2 SpringCloudAlibaba与各种组件版本匹配图
      • 1-3 SpringCloud与SpringBoot版本匹配图
    • 2.本地bootstrap.yml配置规范-示例:
    • 3.远程配置文件取名要规范:
      • 3-1 Data ID拼接格式:${prefix} - ${spring.profiles.active} . ${file-extension},
      • 3-2 Group:
      • 3-3 NameSpace(命名空间):
      • 3-4 远程配置文件DataId必须加上`yaml`后缀名:否则会出现获取不到远程配置异常
    • 4.项目启动类配置nacos服务注册发现注解:
  • 四·验证:启动服务成功!![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/b320fa8f26054438810586392c1a181d.png)

一·问题描述:

1.项目pom依赖版本:

在这里插入图片描述

2.bootstrap.yml配置信息

在这里插入图片描述

3.远程配置:默认public命名空间

在这里插入图片描述

4.启动报异常,显示没有配置数据源,实际远程已经配置了,也就是说没有成功拉取到远程配置数据

在这里插入图片描述

二·问题原因:

1.远程配置文件的DataId没有加yaml后缀名,导致项目获取远程配置数据失败,从而引发项目启动异常

三·解决方案:

1.注意SpringCloud、SpringCloudAlibaba、SpringBoot、Nacos的组件版本匹配

1-1 推荐两套版本组合依赖:

<properties><maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><!--    第一套版本组合--><!--        <spring.boot.version>3.0.2</spring.boot.version>--><!--        <spring.cloud.version>2022.0.0</spring.cloud.version>--><!--        <spring.cloud.alibaba.version>2022.0.0.0-RC2</spring.cloud.alibaba.version>--><!--    第二套版本组合--><spring.boot.version>3.3.0</spring.boot.version><spring.cloud.version>2023.0.2</spring.cloud.version><spring.cloud.alibaba.version>2023.0.1.0</spring.cloud.alibaba.version>
</properties><dependencyManagement>
<dependencies><!--springboot 依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>${spring.boot.version}</version><type>pom</type><scope>import</scope></dependency><!--springcloud 依赖--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring.cloud.version}</version><type>pom</type><scope>import</scope></dependency><!--springcloud alibaba 依赖--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>${spring.cloud.alibaba.version}</version><type>pom</type><scope>import</scope></dependency>
</dependencies>
</dependencyManagement>

1-2 SpringCloudAlibaba与各种组件版本匹配图

在这里插入图片描述

1-3 SpringCloud与SpringBoot版本匹配图

在这里插入图片描述

2.本地bootstrap.yml配置规范-示例:

server:port: 9004
spring:application:name: cloud-nacos-config-consumer-9004profiles:#激活dev环境配置active: dev#Springcloud配置cloud:#nacos配置nacos:#配置中心配置config:#nacos配置中心地址:跟注册地址一样,会自动从远程拉取配置文件应用server-addr: 127.0.0.1:8848#配置文件后缀格式file-extension: yaml
#        namespace: Dev-NameSpace
#        group: DEFAULT_GROUP
#        username: nacos
#        password: nacos#服务注册配置discovery:# nacos服务注册中心地址:本应用将会注册在下面这个地址服务上面,nacos本身也是一个单独的服务应用server-addr: 127.0.0.1:8848
#        namespace: Dev-NameSpace
#        group: DEFAULT_GROUP

3.远程配置文件取名要规范:

nacos会自动根据规则从远程配置中心拉取数据:命名空间-分组-DataId,然后再与本地application配置文件整合,从而形成最终配置数据(远程配置 > 本地配置

3-1 Data ID拼接格式:${prefix} - ${spring.profiles.active} . ${file-extension},

  • prefix:默认为 spring.application.name 的值,也可以通过配置项 spring.cloud.nacos.config.prefix 来配置

  • spring.profiles.active:取 spring.profiles.active 的值,即为当前环境对应的 profile

  • file-extension:为配置内容的数据格式,可以通过配置项spring.cloud.nacos.config.file-extension 来配置

3-2 Group:

Group 默认为 DEFAULT_GROUP,可以通过 spring.cloud.nacos.config.group 来配置,当配置项太多或者有重名时,可以通过分组来方便管理

3-3 NameSpace(命名空间):

NameSpace 默认为 public,可以通过 spring.cloud.nacos.config.namespace 来配置,当配置项太多或者有重名时,可以通过命名空间来方便管理

3-4 远程配置文件DataId必须加上yaml后缀名:否则会出现获取不到远程配置异常

在这里插入图片描述

4.项目启动类配置nacos服务注册发现注解:

在这里插入图片描述

四·验证:启动服务成功!在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3270290.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

金字塔监督在人脸反欺骗中的应用

介绍 论文地址&#xff1a;https://arxiv.org/pdf/2011.12032.pdf 近年来&#xff0c;人脸识别技术越来越普及。在智能手机解锁和进出机场时&#xff0c;理所当然地会用到它。人脸识别也有望被用于管理今年奥运会的相关人员。但与此同时&#xff0c;人们对人脸欺骗的关注度也…

邦布带你从零开始实现图书管理系统(java版)

今天我们来从零开始实现图书管理系统。 图书管理系统 来看我们的具体的实现&#xff0c;上述视频。 我们首先来实现框架&#xff0c;我们要实现图书管理系统&#xff0c;首先要搭框架。 我们首先定义一个书包&#xff0c;在书包中定义一个书类和一个书架类&#xff0c;再定义…

51单片机15(直流电机实验)

一、序言&#xff1a;我们知道在单片机当中&#xff0c;直流电机的控制也是非常多的&#xff0c;所以有必要了解一些这个电机相关的一些知识&#xff0c;以及如何使用单片机来控制这个电机&#xff0c;那么在没有学习PWM之前&#xff0c;我们先简单的使用GPIO这个管脚来控制电机…

女人内裤怎么洗才是最干净?内衣裤洗衣机怎么样?哪个牌子更好?

最近刚好用到一款比较好用的洗内衣裤洗衣机&#xff01;如果你也和我一样有洗内衣裤烦恼的&#xff0c;或者可以看看&#xff01; 内衣裤作为贴身穿的衣服&#xff0c;我是不会把它和外衣一起清洗的&#xff0c;而家里面的大洗衣机已经担起了清洗外衣的工作&#xff01; 朋友们…

jdk的major version和minor version是啥意思?

写在前面 1&#xff1a;正文 major version是大版本号&#xff0c;minor version是小版本号&#xff0c;但目前minor version都是0&#xff08;也可能是我没有发现&#x1f605;&#xff09;&#xff0c;如jdk8就是52&#xff0c;如下表&#xff1a; 可以看到jdk版本号和ma…

优思学院:六西格玛黑带的价值仍在吗?

六西格玛自20世纪80年代由摩托罗拉提出以来&#xff0c;已经深刻地影响了全球的质量管理实践。六西格玛方法论中的一个关键角色就是“黑带”&#xff0c;这些人经过培训&#xff0c;能够领导问题解决项目。随着进入数字化时代&#xff0c;自动化和数据分析在商业运营中变得越来…

【区块链】JavaScript连接web3钱包,实现测试网络中的 Sepolia ETH余额查询、转账功能

审核看清楚了 &#xff01; 这是以太坊测试网络&#xff01;用于学习的测试网络&#xff01;&#xff01;&#xff01; 有关web3 和区块链的内容为什么要给我审核不通过&#xff1f; 别人凭什么可以发&#xff01; 目标成果&#xff1a; 实现功能分析&#xff1a; 显示账户信…

第N8周:图解NLP中的注意力机制

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 一、前期知识储备 注意力机制是一种模拟人类大脑注意力分配方式的计算模型&#xff0c;它能够在处理大量信息时&#xff0c;聚焦于重要的部分&#xff0c;而忽…

打卡第二十五天:递增子序列、全排列、全排列II、重新安排行程、N皇后、解数独

1、递增子序列 题目 文章 视频 这个递增子序列比较像是取有序的子集。而且本题也要求不能有相同的递增子序列。在子集一题中通过排序&#xff0c;再加一个标记数组来达到去重的目的。而本题求自增子序列&#xff0c;是不能对原数组进行排序的&#xff0c;排完序的数组都是自…

数据结构:(1)线性表

一、基本概念 概念&#xff1a;零个或多个数据元素的有限序列 元素之间是有顺序了。如果存在多个元素&#xff0c;第一个元素无前驱&#xff0c;最后一个没有后继&#xff0c;其他的元素只有一个前驱和一个后继。 当线性表元素的个数n&#xff08;n>0&am…

NzN的C语言全解析--C语言常见概念

目录 1. C语言是什么&#xff1f; 2. C语言的历史 3. 编译器的选择--VS2022 (1) 编译和链接 (2) VS2022 的优缺点 4. VS项目和源文件、头文件介绍 5. 第一个C语言程序 6. main函数 7. printf和库函数 8. 关键字 9. 字符和ASCII编码 10. 字符串和\0 11. 转义字符 …

文件系统基础(一)

目录 一 . 文件的基本概念文件的结构文件的属性文件的分类 二. 文件控制块和索引节点文件控制块&#xff08;FCB&#xff09;索引节点磁盘索引节点内存索引节点 三. 文件的操作文件的基本操作文件的打开与关闭文件打开文件关闭文件名与文件描述符的应用 四. 文件的保护访问类型…

用PyTorch从零开始编写DeepSeek-V2

DeepSeek-V2是一个强大的开源混合专家&#xff08;MoE&#xff09;语言模型&#xff0c;通过创新的Transformer架构实现了经济高效的训练和推理。该模型总共拥有2360亿参数&#xff0c;其中每个令牌激活21亿参数&#xff0c;支持最大128K令牌的上下文长度。 在开源模型中&…

Godot入门 02玩家1.0版

添加Node2D节点&#xff0c;重命名Game 创建玩家场景&#xff0c;添加CharacterBody2D节点 添加AnimatedSprite2D节点 从精灵表中添加帧 选择文件 设置成8*8 图片边缘模糊改为清晰 设置加载后自动播放&#xff0c;动画循环 。动画速度10FPS&#xff0c;修改动画名称idle。 拖动…

数据结构之探索“堆”的奥秘

找往期文章包括但不限于本期文章中不懂的知识点&#xff1a; 个人主页&#xff1a;我要学编程(ಥ_ಥ)-CSDN博客 所属专栏&#xff1a;数据结构&#xff08;Java版&#xff09; 目录 堆的概念 堆的创建 时间复杂度分析&#xff1a; 堆的插入与删除 优先级队列 PriorityQ…

学习大数据DAY23 Linux基本指令4与ngnix安装以及Shell,python编写环境配置

目录 其他扩展类 echo 输出字符串 date 显示当前日期 (用于日期转字符串) date -d 日期解析&#xff08;用于字符串转日期&#xff09; date 设置日期 linux 网络对时 cal 查看日历 wget 命令 seq 命令 Linux 定时执行计划 特殊符号说明 linux 添加硬盘分区挂载 上…

【QT】QT 系统相关(事件、文件、多线程、网络、音视频)

一、Qt 事件 1、事件介绍 事件是应用程序内部或者外部产生的事情或者动作的统称。在 Qt 中使用一个对象来表示一个事件。所有的 Qt 事件均继承于抽象类 QEvent。事件是由系统或者 Qt 平台本身在不同的时刻发出的。当用户按下鼠标、敲下键盘&#xff0c;或者是窗口需要重新绘制…

初阶数据结构完结 图解所有初阶数据结构 顺序表

1数据结构 1.线性表 线性表&#xff08;linear list&#xff09;是n个具有相同特性的数据元素的有限序列。 线性表是⼀种在实际中⼴泛使 ⽤的 数据结构&#xff0c;常⻅的线性表&#xff1a;顺序表、链表、栈、队列、字符串… 线性表在逻辑上是线性结构&#xff0c;也就说是连…

Centos7_Minimal安装Cannot find a valid baseurl for repo: base/7/x86_6

问题 运行yum报此问题 就是没网 解决方法 修改网络信息配置文件&#xff0c;打开配置文件&#xff0c;输入命令&#xff1a; vi /etc/sysconfig/network-scripts/ifcfg-网卡名字把ONBOOTno&#xff0c;改为ONBOOTyes 重启网卡 /etc/init.d/network restart 网路通了

SSRF中伪协议学习

SSRF常用的伪协议 file:// 从文件系统中获取文件内容,如file:///etc/passwd dict:// 字典服务协议,访问字典资源,如 dict:///ip:6739/info: ftp:// 可用于网络端口扫描 sftp:// SSH文件传输协议或安全文件传输协议 ldap://轻量级目录访问协议 tftp:// 简单文件传输协议 gopher…