解决: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://www.mzph.cn/bicheng/49547.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

韦东山嵌入式linux系列-查询方式的按键驱动程序_编写框架

1 LED 驱动回顾 对于 LED&#xff0c; APP 调用 open 函数导致驱动程序的 led_open 函数被调用。在里面&#xff0c;把 GPIO 配置为输出引脚。安装驱动程序后并不意味着会使用对应的硬件&#xff0c;而 APP 要使用对应的硬件&#xff0c;必须先调用 open 函数。所以建议在驱动…

Adobe Character Animator (CH) 安装包软件下载

目录 一、软件简介 二、下载与安装 1. 下载 2. 安装 三、注意事项 1. 硬件要求 2. 兼容性 四、功能介绍 1. 实时面部捕捉 2. 实时语音同步 3. 动作捕捉 五、快捷键操作 CH 提供了一系列快捷键以方便用户快速操作。以下是一些常用的快捷键&#xff1a; 一、软件简介…

django电商用户消费数据分析系统-计算机毕业设计源码20891

摘 要 随着电子商务的快速发展&#xff0c;电商平台积累了大量的用户消费数据。为了更好地理解用户行为、优化商品结构和提升用户体验&#xff0c;本文设计并实现了一个基于Django框架的电商用户消费数据分析系统。 该系统包含后台首页、系统用户&#xff08;管理员&#xf…

Hive分布式SQL计算平台

Hive分布式SQL计算平台 一、Hive 概述二、Hive架构三、Hive客户端 1、Hive有哪些客户端可以使用2、Hive第三方客户端 四、Hive使用语法 1、数据库操作2、内部表&#xff0c;外部表3、数据的导入与导出4、分区表5、分桶表6、复杂类型操作7、数据抽样8、Virtual Columns 虚拟列9…

Samtec技术科普小课堂 | 一文入门射频连接器~

【摘要/前言】 在本文中&#xff0c;我们将回到基础知识&#xff0c;了解一下什么是射频连接器。如果您是信号完整性专家&#xff0c;请点击阅读原文访问我们的网站视频&#xff0c;通过我们的网络研讨会视频了解教科书上可能找不到的知识。 如果您是电气工程领域的新手&#…

pycharm git 新建备忘

git 提交时出现如下错误&#xff1a; Committer identity unknown *** Please tell me who you are. Run git config --global user.email "youexample.com" git config --global user.name "Your Name" to set your accounts default identity. Omit…

【Linux】条件变量及生产者消费者模型

为什么要将这两者放在一起进行呢&#xff1f; 主要是因为生产消费与条件变量关系密切&#xff0c;正好相辅相成。 目录 条件变量&#xff1a;条件变量的引出&#xff1a;条件变量的解释与接口&#xff1a;测试代码&#xff1a; 生产者消费者模型&#xff1a;概念&#xff1a;代…

【LeetCode】86.分割链表

1. 题目 2. 分析 这题没有太大难度&#xff0c;主要是熟悉代码。 3. 代码 # Definition for singly-linked list. # class ListNode: # def __init__(self, val0, nextNone): # self.val val # self.next next class Solution:def partition(self, he…

MySQL补充性文件

数据库专属单词 authentication #身份验证 delimiter #分隔符 character #字符集 collate #整理。 指定字符集的排序规则 unicode #统一码 flush #刷新 privileges #特权 string #串 set #设置 use #使用 zerofill #修饰符。0可以填补输出的值 unsigned #修饰符。无符…

德国云手机:企业移动办公解决方案

在现代商业环境中&#xff0c;移动办公已经成为一种趋势。德国云手机作为一种高效的解决方案&#xff0c;为企业提供了强大的支持。本文将探讨德国云手机如何优化企业的移动办公环境。 一、德国云手机的主要优势 高灵活性 德国云手机具有高度的灵活性&#xff0c;能够根据用户需…

【学习笔记】无人机系统(UAS)的连接、识别和跟踪(三)-架构模型和概念

引言 3GPP TS 23.256 技术规范&#xff0c;主要定义了3GPP系统对无人机&#xff08;UAV&#xff09;的连接性、身份识别、跟踪及A2X&#xff08;Aircraft-to-Everything&#xff09;服务的支持。 3GPP TS 23.256 技术规范&#xff1a; 【免费】3GPPTS23.256技术报告-无人机系…

基于 Electron+Vite+Vue3+Sass 框架搭建

技术参考 技术描述Electron一个使用 JavaScript、HTML 和 CSS 构建桌面应用程序的框架。嵌入 Chromium 和 Node.jsElectron Forge用于打包和分发 Electron 应用程序的一体化工具。英文地址在此Vite前端构建工具Vue3用于构建用户界面的 JavaScript 框架vitejs/plugin-vueVite 插…

PlantUML 语法、图标和示例

基本语法 关键字 声明参与者的几个关键字 actor、boundary、control、entity、database、collections、participant 箭头样式 我们可以通过&#xff0c;修改箭头样式&#xff0c;来表达不一样的意思&#xff1a; 表示一条丢失的消息&#xff1a;末尾加 x让箭头只有上半部…

Kafka - 生产者

生产者消息对象 public class ProducerRecord<K, V> {private final String topic; // 主题private final Integer partition; //分区号private final Headers headers; //消息头部private final K key; //键private final V value; //值private final Long timestamp; …

opencv 按键开启连续截图,并加载提示图片

背景图小图 键盘监听使用的是pynput 库 保存图片时使用了年月日时分秒命名 原图&#xff1a; from pynput import keyboard import cv2 import time# 键盘监听 def on_press(key):global jieglobal guanif key.char a:jie Trueelif key.char d:jie Falseelif key.char…

FPGA JTAG最小系统 EP2C5T144C8N

FPGA的文档没有相应的基础还真不容易看懂&#xff0c;下面是B站上对FPGA文档的解读(本文非对文档解读&#xff0c;只是为个人记录第三期&#xff1a;CycloneIV E最小系统板设计&#xff08;一&#xff09;从Datasheet上获取FPGA的基本参数_哔哩哔哩_bilibili 电源部份 核心电…

AI学习记录 -使用react开发一个网页,对接chatgpt接口,附带一些英语的学习prompt

实现了如下功能&#xff08;使用react实现&#xff0c;原创&#xff09; 实现功能&#xff1a; 1、对接gpt35模型问答&#xff0c;并实现了流式传输&#xff08;在java端&#xff09; 2、在实际使用中&#xff0c;我们的问答历史会经常分享给他人&#xff0c;所以下图的 copy …

Python酷库之旅-第三方库Pandas(042)

目录 一、用法精讲 141、pandas.Series.agg(regate)方法 141-1、语法 141-2、参数 141-3、功能 141-4、返回值 141-5、说明 141-6、用法 141-6-1、数据准备 141-6-2、代码示例 141-6-3、结果输出 142、pandas.Series.transform方法 142-1、语法 142-2、参数 142…

1196. 拐角I

问题描述 输入整数 &#x1d441;N &#xff0c;输出相应方阵。 输入一个整数 &#x1d441;N 。&#xff08; 0<&#x1d441;≤100) 输出一个方阵&#xff0c;每个数字的场宽为 3 附代码&#xff1a; #include<iostream> using namespace std; int main() { …

大屏数据看板一般是用什么技术实现的?

我们看到过很多企业都会使用数据看板&#xff0c;那么大屏看板的真正意义是什么呢&#xff1f;难道只是为了好看&#xff1f;答案当然不仅仅是。 大屏看板不仅可以提升公司形象&#xff0c;还可以提升企业的管理层次。对于客户&#xff0c;体现公司实力和品牌形象&#xff0c;…