问题描述:

        一直使用nacos做注册中心,配置还是使用的配置文件。将配置文件整理到nacos以后,却发现一直不生效,看网上大部分说是版本依赖不兼容的问题,修改版本依赖关系、尝试降版本后发现都未生效。

解决方案:

        新建bootstrap.yaml配置文件,将Nacos本身的相关配置必须都放在bootstrap.yml文件中。

知识补充:

  • Spring Cloud组件的版本依赖关系可能会造成很多的依赖冲突问题。如果使用Spring Cloud Alibaba,建议根据官方推荐的组合版本进行构建项目。具体可参考版本说明 · alibaba/spring-cloud-alibaba Wiki · GitHub
  • application.yml作用域在于当前应用有效,bootstrap.yml系统级别的配置有效(一般采用远程配置的时候才会用到)
  • 以jar包发布springboot项目时,默认会先使用jar包跟目录下的application.properties来作为项目配置文件。
    如果在不同的目录中存在多个配置文件,它的读取顺序是:
            1、config/application.properties(项目根目录中config目录下)
            2、config/application.yml
            3、application.properties(项目根目录下)
            4、application.yml
            5、resources/config/application.properties(项目resources目录中config目录下)
            6、resources/config/application.yml
            7、resources/application.properties(项目的resources目录下)
            8、resources/application.yml
    注:
         1、如果同一个目录下,有application.yml也有application.properties,默认先读取application.properties。
         2、如果同一个配置属性,在多个配置文件都配置了,默认使用第1个读取到的,后面读取的不覆盖前面读取到的。
         3、创建SpringBoot项目时,一般的配置文件放置在“项目的resources目录下”​​​​​ 
         4、先后加载顺序:若application 和bootstrap 在同一目录下:bootstrap先加载 application后加载
Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐