javascript
Springcloud配置中心客户端启动时Could not resolve placeholder ‘version‘ in value “${version}“报错原因
問題排查:
1、先確定${version}與遠程倉庫中version字段名一致
2、遠程倉庫配置文件名是否與client項目的spring.application.name名是否匹配(誤區就是這里,遠程倉庫配置文件名與服務端項目名沒半毛錢關系)
3、是否在客戶端配置了對應配置中心服務端
遠程倉庫配置文件
遠程倉庫放了一個叫config-server-dev的properties文件(實際上名字起錯了,不應該是server,而應該是client)
Server端
application.yml配置,注意spring.application.name=config
Client端
application.yml配置 ,這里的spring.application.name需要和遠程倉庫配置文件匹配,所以叫做config-server(明明是client卻起作server,怪怪的,就是因為一開始以為遠程倉庫的配置文件名與server端一致…)
bootstrap.yml配置
要點在于:確保client客戶端的spring.application.name與遠程倉庫中配置文件名的前綴是否一致,server服務端的spring.application.name愛咋地咋地,只要在clent客戶端的bootstrap.yml配置文件中關聯到server的spring.application.name即可。
個人理解:首先啟動順序上是server在前,client在后,并且client的配置文件讀取順序是bootstrap > 遠程倉庫配置文件 > applicatin。
遠程倉庫文件名匹配的為什么是client因為@Value()是在client項目中使用,并且不要忘記了,配置中心需要為每個微服務提供配置的,如果必須跟server名字一致,那豈配置文件名就限定死了。倉庫中配置文件名需要跟每個微服務的name保持一致,才能為不同微服務提供配置
總結
以上是生活随笔為你收集整理的Springcloud配置中心客户端启动时Could not resolve placeholder ‘version‘ in value “${version}“报错原因的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 配置MGR时修改了/etc/hosts但
- 下一篇: gradle idea java ssm