springboot启动不加载bootstrap.yml文件的问题

目录
  • springboot启动不加载bootstrap.yml文件
  • 无法识别 bootstrap.yml 小绿叶问题
    • 错误信息
    • 问题定位
    • 解决

springboot启动不加载bootstrap.yml文件

使用nacos做配置中心,但是程序启动失败,没有拉取配置中心的配置信息。

检查之后发现是bootstrap.yml文件没有被加载,在项目的pom.xml文件中添加如下依赖,可能需要添加版本号,具体版本号可以去maven仓库查询,我使用的是 3.0.1版本。

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>

重新导入依赖,然后重启项目,在项目日志里可以看到下面这一段信息,并且服务正常启动成功,说明服务启动成功。

2021-03-07 22:47:10.953 INFO 54020 --- [ restartedMain] b.c.PropertySourceBootstrapConfiguration : Located property source: [BootstrapPropertySource {name='bootstrapProperties-xxx-xxx-dev.yml,dev'}, BootstrapPropertySource {name='bootstrapProperties-xxx-xxx.yml,dev'}, BootstrapPropertySource {name='bootstrapProperties-xxx-xxx,dev'}]

无法识别 bootstrap.yml 小绿叶问题

错误信息

问题定位

一般单独使用 Spring Boot 时,bootstrap.yml 文件一般是不会生效的,也就是没有 小绿叶 图标;如果使用了 Spring Cloud 组件 bootstrap.yml 才会生效,需要引入 spring-cloud-commons-dependencies 这个包依赖。 另外 bootstrap.yml 的加载顺序优先于 application.yml。

解决

方案一:可以引入 Spring Cloud 中的某一组件即可,如 Eureka 或则 Feign 等,因为里面包含 spring-cloud-commons-dependencies 依赖。

 <dependency>
    <groupId>org.springframework.cloud</groupId>
     <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
 </dependency>

方案二:单独引入 spring-cloud-commons-dependencies 依赖

 <dependency>
     <groupId>org.springframework.cloud</groupId>
     <artifactId>spring-cloud-commons-dependencies</artifactId>
     <version>${spring-cloud-commons.version}</version>
 </dependency>

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 基于SpringBoot bootstrap.yml配置未生效的解决

    我就废话不多说了,大家还是直接看代码吧~ <!--需要引入该jar才能使bootstrap配置文件生效--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-context</artifactId> </dependency> 补充知识:SpringBoot不读取bootstrap.yml/properti

  • SpringCloud2020 bootstrap 配置文件失效的解决方法

    Spring Cloud 2020版本 bootstrap 配置文件(properties 或者 yml)无效 如何解决? 背景介绍 微服务是基于Spring Cloud框架搭建的,Spring Cloud Config作为服务配置中心. 业务服务只配置服务名称.启用环境和config的URL地址,其他都配置在配置中心,例如服务端口.服务注册中心地址等.可在开发环境(dev).测试环境(test)和生产环境(prod)分别配置. 所以预想的启动流程是:先加载配置文件,再启动服务. 之前的做法是,

  • 解决nacos升级spring cloud 2020.0无法使用bootstrap.yml的问题

    nacos升级spring cloud 2020.0无法使用bootstrap.yml 之前用spring cloud整合nacos,需要一个bootstrap.yml作为spring启动的初始化配置 bootstrap.yml内容大概如下: spring: application: # 应用名称 name: xxx profiles: active: dev cloud: nacos: config: file-extension: yml server-addr: localhost:884

  • springboot启动不加载bootstrap.yml文件的问题

    目录 springboot启动不加载bootstrap.yml文件 无法识别 bootstrap.yml 小绿叶问题 错误信息 问题定位 解决 springboot启动不加载bootstrap.yml文件 使用nacos做配置中心,但是程序启动失败,没有拉取配置中心的配置信息. 检查之后发现是bootstrap.yml文件没有被加载,在项目的pom.xml文件中添加如下依赖,可能需要添加版本号,具体版本号可以去maven仓库查询,我使用的是 3.0.1版本. <dependency> <

  • springboot如何通过@PropertySource加载自定义yml文件

    目录 @PropertySource加载自定义yml文件 @PropertySource注解对于yml的支持 @PropertySource加载自定义yml文件 使用@PropertySource默认加载的是.xml或者 .properties文件,因为在注解源码默认使用的是DefaultPropertySourceFactory实现处理文件内容,spring使用ResourcePropertySource从Resource构建Properties传给Spring. 系统的应用,比如加载自定义的

  • java 实现web项目启动加载properties属性文件

    目录 web项目启动加载properties属性文件 1.首先要想在项目启动的时候就加载properties文件 2.在web.xml文件中配置好了监听器之后 3.当然为了不让项目启动报错 4.文件建好之后 出现加载java的properties配置文件空指针报错 解决 web项目启动加载properties属性文件 最近做项目,发现框架里面封装的项目一启动加载所有的properties文件挺方便好用的就自己动手写了一个. 1.首先要想在项目启动的时候就加载properties文件 就必需在we

  • Springboot 如何指定获取出 yml文件里面的配置值

    之前写过一篇获取properties文件里面的值: Springboot 指定获取自己写的配置properties文件的值 www.jb51.net/article/217899.htm 现在补充多一篇,指定获取yml里面的配置值 . 内容: 这里分别介绍两种方式,都是基于注解实现,分别是: @Value("${xxxxx.xx}") @ConfigurationProperties(prefix = "xxxxx") 进入主题: @Value("${xx

  • 详解springboot启动时是如何加载配置文件application.yml文件

    今天启动springboot时,明明在resources目录下面配置了application.yml的文件,但是却读不出来,无奈看了下源码,总结一下springboot查找配置文件路径的过程,能力有限,欢迎各位大牛指导!!! spring加载配置文件是通过listener监视器实现的,在springboot启动时: 在容器启动完成后会广播一个SpringApplicationEvent事件,而SpringApplicationEvent事件是继承自ApplicationEvent时间的,代码如下

  • SpringBoot源码分析之bootstrap.properties文件加载的原理

    目录 1.bootstrap的使用 2.bootstrap加载原理分析 2.1 BootstrapApplicationListener 2.2 启动流程梳理 2.3 bootstrap.properties的加载原理   对于SpringBoot中的属性文件相信大家在工作中用的是比较多的,对于application.properties和application.yml文件应该非常熟悉,但是对于bootstrap.properties文件和bootstrap.yml这个两个文件用的估计就比较少了

  • Spring Boot 中application.yml与bootstrap.yml的区别

    yml与properties 其实yml和properties文件是一样的原理,且一个项目上要么yml或者properties,二选一的存在. 推荐使用yml,更简洁. bootstrap与application 1.加载顺序 这里主要是说明application和bootstrap的加载顺序. •bootstrap.yml(bootstrap.properties)先加载 •application.yml(application.properties)后加载 bootstrap.yml 用于应

  • springboot启动时是如何加载配置文件application.yml文件

    今天启动springboot时,明明在resources目录下面配置了application.yml的文件,但是却读不出来,无奈看了下源码,总结一下springboot查找配置文件路径的过程,能力有限,欢迎各位大牛指导!!! spring加载配置文件是通过listener监视器实现的,在springboot启动时: 在容器启动完成后会广播一个SpringApplicationEvent事件,而SpringApplicationEvent事件是继承自ApplicationEvent时间的,代码如下

  • SpringBoot不读取bootstrap.yml/properties文件问题

    目录 今天写创建了一个SpringBoot项目,配置文件从其他项目拷贝了一份bootstrap.yml 之前一直用的application.yml 心想:application.yml 优先级没有bootstrap.yml 高,bootstrap配置文件肯定没问题 项目一跑来,发现配置文件里面的内容没读取到. 之后通过各种查资料,才明白了application.yml 和bootstrap.yml 的区别,不仅仅是优先级的问题. 先说我的问题是什么原因吧: SpringBoot 项目中如果没有依

随机推荐