龙哥网

龙哥网

springboot启动不加载bootstrap.yml文件的问题_java(springboot bootstrap.yml)
2022-03-01

目录
  • 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>
免责声明
本站部分资源来源于互联网 如有侵权 请联系站长删除
龙哥网是优质的互联网科技创业资源_行业项目分享_网络知识引流变现方法的平台为广大网友提供学习互联网相关知识_内容变现的方法。