SpringBoot無法識別bootstrap.yml小綠葉問題的解決辦法
錯(cuò)誤信息
問題定位
一般單獨(dú)使用 Spring Boot 時(shí),bootstrap.yml 文件一般是不會生效的,也就是沒有 小綠葉 圖標(biāo);如果使用了 Spring Cloud 組件 bootstrap.yml 才會生效,需要引入 spring-cloud-commons-dependencies 這個(gè)包依賴。 另外 bootstrap.yml 的加載順序優(yōu)先于 application.yml。
解決
方案一,可以引入 Spring Cloud
中的某一組件即可,如 Eureka
或則 Feign
等,因?yàn)槔锩姘?nbsp;spring-cloud-commons-dependencies
依賴。
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency>
方案二,單獨(dú)引入 spring-cloud-commons-dependencies
依賴
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-commons-dependencies</artifactId> <version>${spring-cloud-commons.version}</version> </dependency>
拓展:
springboot讀取不到bootstrap.yml配置項(xiàng)問題
今天在搭建項(xiàng)目的時(shí)候,采用springboot 2.4.6版本,然后添加bootstrap.yml配置文件后突然發(fā)現(xiàn)一直讀取不到配置。之前在進(jìn)行項(xiàng)目依賴漏洞版本的升級時(shí)有對其進(jìn)行簡單了解。
原因剖析
簡單的說就是:由于bootstrap是spring cloud帶來的附加品,所以需要有cloud相關(guān)的一些配置才能夠去正常讀取它,否則只會去讀取application.yml。
解決方法
如果springboot版本低于2.4.0版本的話,需要在啟動類對應(yīng)的pom里添加依賴
<!-- spring cloud,基于spring cloud才會讀取bootstrap.yml --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-context</artifactId> </dependency>
如果springboot版本高于2.4.0版本的話,則在啟動類對應(yīng)的pom里添加依賴
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-bootstrap</artifactId> </dependency>
例如我這里用到的是2.4.6版本,那么對應(yīng)需要加的依賴為:
<!-- spring cloud,基于spring cloud才會讀取bootstrap.yml --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-bootstrap</artifactId> <version>3.0.3</version> </dependency>
至此,啟動banner和@value("${spring.application.name}")都可以讀取到bootstrap.yml文件中的值。
以上就是SpringBoot無法識別bootstrap.yml小綠葉問題的解決辦法的詳細(xì)內(nèi)容,更多關(guān)于SpringBoot無法識別bootstrap.yml的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Java實(shí)現(xiàn)SSL Socket長連接方式
這篇文章主要介紹了Java實(shí)現(xiàn)SSL Socket長連接方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01Mybatis控制臺打印SQL語句的兩種實(shí)現(xiàn)方式
在使用Mybatis開發(fā)時(shí),由于可以動態(tài)拼接SQL,當(dāng)動態(tài)SQL拼接塊過多,直接從*mapper.xml中找出完整的SQL較難,此時(shí),可以通過兩種方法調(diào)試出SQL,方法一,將ibatislog4j運(yùn)行級別調(diào)到DEBUG,在控制臺打印出ibatis運(yùn)行的SQL語句2024-10-10maven項(xiàng)目打jar包并包含所有依賴詳細(xì)教程
maven打包生成的普通jar包,只包含該工程下源碼編譯結(jié)果,不包含依賴內(nèi)容,下面這篇文章主要給大家介紹了關(guān)于maven項(xiàng)目打jar包并包含所有依賴的相關(guān)資料,需要的朋友可以參考下2023-05-05