Nacos配置中心之引用不到配置文件问题

这篇具有很好参考价值的文章主要介绍了Nacos配置中心之引用不到配置文件问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、Springboot中application.yml、application.properties和bootStrap.yml的加载顺序

1、SpringApplication位于项目根目录,所以所有得代码要和SpringApplication所在目录平级或下一级

2、以jar包发布springboot项目时,默认会先使用jar包跟目录下的application.properties来作为项目配置文件。
如果在不同的目录中存在多个配置文件,它的读取顺序是:

	config/application.properties(项目根目录中config目录下)
	config/application.yml
	application.properties(项目根目录下)
	application.yml
	resources/config/application.properties(项目resources目录中config目录下)
	resources/config/application.yml
	resources/application.properties(项目的resources目录下)
	resources/application.yml
注:
1、如果同一个目录下,有application.yml也有application.properties,默认先读取application.properties。
2、如果同一个配置属性,在多个配置文件都配置了,默认使用第1个读取到的,后面读取的不覆盖前面读取到的。
3、创建SpringBoot项目时,一般的配置文件放置在“项目的resources目录下”
4、先后加载顺序:若application 和bootstrap 在同一目录下:bootstrap先加载 application后加载

3、 若application.yml 和bootStrap.yml 在同⼀⽬录下,则bootStrap.yml 的加载顺序要⾼于application.yml,即bootStrap.yml 会优先被加载。
原理:
•bootstrap.yml 用来程序引导时执行,应用于更加早期配置信息读取,如可以使用来配置application.yml中使用到参数等。
•application.yml 应用程序特有配置信息,可以用来配置后续各个模块中需使用的公共参数等、可以⽤来定义应⽤级别的,如果搭配 spring-cloud-config 使⽤ application.yml ⾥⾯定义的⽂件可以实现动态替换。

例:
Nacos配置中心之引用不到配置文件问题
Nacos配置中心之引用不到配置文件问题

二、问题原因

使用springCloud的时候,配置信息一般是要从configServer加载的,为了取到配置信息,需要更早的取到配置,引导配置,因此把 config server 信息放在 bootstrap.yml,用来加载真正需要的配置信息。

三、nacos配置中心读取不到配置
1、依赖版本
<!-- spring cloud版本-->
<dependency>
     <groupId>org.springframework.cloud</groupId>
     <artifactId>spring-cloud-dependencies</artifactId>
     <version>2021.0.1</version>
     <type>pom</type>
     <scope>import</scope>
</dependency>

<!--  nacos配置中心 -->
<dependency>
     <groupId>com.alibaba.cloud</groupId>
     <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
     <version>2.2.5.RELEASE</version>
</dependency>
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
    <version>2.2.5.RELEASE</version>
</dependency>
2、application.yml
spring:
  profiles:
    active: @profileActive@
3、在application-dev.yml配置文件中配置config配置,引用不到Nacos配置中心的配置

代码如下:

server:
  port: 8082
  tomcat:
    accesslog:
      encoding: UTF-8
spring:
  mvc:
    pathmatch:
      matching-strategy: ant_path_matcher
  application:
    name: pb-gateway
  cloud:
    nacos:
      discovery:
        enabled: true
        server-addr: 192.168.85.128:8848
        namespace: c30d277b-745f-4f4a-adda-22a0d1a8efee
        group: dev
      config:
        server-addr: 192.168.85.128:8848
        file-extension: yaml
        namespace: c30d277b-745f-4f4a-adda-22a0d1a8efee
        group: dev
        refresh-enabled: true
4、启动成功后、无日志打印

Nacos配置中心之引用不到配置文件问题

解决方案:

将application-dev.yml中config配置移动到bootstrap.properties文件中

如下:

引入bootstrap的依赖
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-bootstrap</artifactId>
    <version>3.1.3</version>
</dependency>
application-dev.yml
server:
  port: 8082
  tomcat:
    accesslog:
      encoding: UTF-8
spring:
  mvc:
    pathmatch:
      matching-strategy: ant_path_matcher
  cloud:
    nacos:
      discovery:
        enabled: true
        server-addr: 192.168.85.128:8848
        namespace: c30d277b-745f-4f4a-adda-22a0d1a8efee
        group: dev
bootstrap.properties
spring.application.name=pb-gateway
spring.cloud.nacos.config.server-addr=192.168.85.128:8848
spring.cloud.nacos.config.file-extension=yaml
spring.cloud.nacos.config.namespace=c30d277b-745f-4f4a-adda-22a0d1a8efee
spring.cloud.nacos.config.group=dev
spring.cloud.nacos.config.refresh-enabled=true
启动成功会有一个日志打印

space=c30d277b-745f-4f4a-adda-22a0d1a8efee
spring.cloud.nacos.config.group=dev
spring.cloud.nacos.config.refresh-enabled=true
``

启动成功会有一个日志打印

Nacos配置中心之引用不到配置文件问题文章来源地址https://www.toymoban.com/news/detail-471745.html

到了这里,关于Nacos配置中心之引用不到配置文件问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Redisson集成到nacos配置中心的问题

    因为微服务项目都需要用到redisson,所以就想着将配置提取出来放到nacos上作为共享配置使用,nacos显示已经加载配置文件了,但项目启动后却没有起作用,本地使用的配置是有作用的 这个配置文件看上去没有任何问题,能加载也能读取相关变量,但是就是不能被redisson使用

    2024年02月13日
    浏览(38)
  • centos 安装配置文件中心 nacos2.2.3 稳定版

    安装mysql 8  参考文章 centos7搭建mysql5.6 mysql 8.0_centos7 mysql5.6-CSDN博客 官网下载 对应的版本 Java Downloads | Oracle 配置环境变量 vim /etc/profile source /etc/profile 生成jre  数据库创建 nacos 账户 vim /usr/local/nacos/conf/application.properties nacos 报404 错误  访问url  http://192.168.217.135:8848/nacos

    2024年04月27日
    浏览(34)
  • Nacos服务注册成功,但是服务列表看不到,配置也拉取不到问题

    spring.cloud.nacos.discovery.server-addr 和 spring.cloud.nacos.config.server-addr 配置没有问题,也ping的通,8848端口也开放了 服务也正常启动了,日志提示服务注册成功了,说明网络连接和端口号都是没有问题的: 2023-02-16 13:29:36.178 INFO 436 --- [ main] o.s.c.a.n.registry.NacosServiceRegistry : nacos regist

    2024年02月11日
    浏览(47)
  • 使用nacos配置中心管理配置文件时,springcloud程序启动报错,无法找到对应的配置文件(加载到了错误的配置文件)

    1、将SpringBoot项目升级为SpringCloud 2、SpringBoot版本从 2.1.3.RELEASE 升级为 2.7.8 3、不使用Nacos配置中心,而是加载本地配置文件时,程序启动正常 4、使用Nacos配置中心,加载到了错误的配置文件,导致程序启动失败 1、 bootstrap.yml 配置 2、查看Nacos配置中心 2.1、 group 和 namespace 都没

    2024年02月04日
    浏览(58)
  • Nacos开启鉴权后读取不到配置文件,get data from Nacos error,dataId:http error, code=403,dataId=

    报错信息 解决办法 我开始没加鉴权,使用的是application.yml是可以的,加了之后要将application.yml换成bootstrap.yml。 spring cloud Alibaba组件版本依赖关系 2021.x 分支 适配 Spring Boot 2.4,Spring Cloud 2021.x 版本及以上的 Spring Cloud Alibaba 版本按从新到旧排列如下表(最新版本用*标记):

    2024年03月23日
    浏览(39)
  • 记录一次SpringBoot3+Nacos Config做配置中心时,No spring.config.import property has been defined的问题

    以下为报错信息: No spring.config.import property has been defined 启动时,控制台已经很明确的给出了一个标准的解决方案: Add a spring.config.import=nacos: property to your configuration. If configuration is not required add spring.config.import=optional:nacos: instead. To disable this check, set spring.cloud.nacos.config.import

    2024年02月11日
    浏览(60)
  • 解决 Spring Cloud 2021.0.5 版本,使用 nacos 做配置中心,报 No spring.config.import property has been defined 的问题

    报错信息如下 Description: No spring.config.import property has been defined Spring 官方给出的解决方案如下 Add a spring.config.import=nacos: property to your configuration. If configuration is not required add spring.config.import=optional:nacos: instead. To disable this check, set spring.cloud.nacos.config.import-check.enabled=false. 这里只

    2024年02月11日
    浏览(58)
  • Nacos 注册中心和配置中心

                            打开nacos虚拟机

    2024年02月06日
    浏览(34)
  • Springboot读取外部配置文件,项目部署时配置读取不到问题

    需求: 最近项目部署,但是每个地方都有个别地方配置的差异,我们每次打包后再进行修改极度不方便,这里将有关的配置都抽取出来,放在jar包外进行配置,这样以后更新时只需要将jar包更换然后重启即可,配置读取外部的固定配置文件。 SpringBoot 配置 springboot默认配置的

    2024年02月07日
    浏览(49)
  • Nacos配置中心 (介绍与配置)

    当微服务部署的实例越来越多,达到数十、数百时,逐个修改微服务配置就会让人抓狂,而且很容易出错。我们需要一种统一配置管理方案,可以集中管理所有实例的配置。 Nacos一方面可以将配置集中管理,另一方可以在配置变更时,及时通知微服务,实现配置的热更新。

    2024年02月02日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包