关于springcloud config client 无法访问 config service 远程获取的git中 yml中的配置值的问题

搭建springcloud config组件的时候,如果发现启动 config service 服务正常,而 config client 服务启动报错:

java.lang.IllegalArgumentException: Could not resolve placeholder '***' in value "${****}

出现该错说找不到配置文件中的 *** 属性。

这个时候首先考虑如下几个问题,看下你的代码中是否存在如下问题:

1: github上的配置文件的名字构成必须是: {application}-{profile}.properties 等方式

例 properties 文件,git 中书写方法为 name=123

重点: 如果你代码配置文件用的是 yml 格式,则git上的文件名为 {application}-{profile}.yml

例 yml文件,git 中书写方法为 name: 123 , 注意有空格

这点很容易忽视,如果不统一则启动会报如上错误!

2: sprringcloud config client 端配置文件命名是否错误

需新建 bootstrap.yml 文件,与application.yml 同一路径即可,

bootstrap.yml 文件示例: 

server:
  port: 8888

spring:
  application:
    name: springcloud-config-client
  cloud:
    config:
      name: basefeign
      discovery:
        enabled: true
        service-id: springcloud-config-bus
      label: master
      profile: dev

eureka:
  client:
    serviceUrl:
      defaultZone: http://localhost:8881/eureka/

这些配置需要写道bootstrap.yml 中,而 application.yml其实用不着删掉即可,因为bootstrap.yml是springboot默认启动高优先级加载的配置文件,如果非得想往application.yml中写点东西,可以把 application.name 属性挪到application.yml。

代码中有一个误区很多人会误解:

spring:
  application:
    name: springcloud-config-client

这个name属性代表的是该项目的项目名称,也可以代表为 github上文件的前缀名,

service-id 属性代表的是注册到注册重心的 springcloud config server 的项目服务名

label 代表分支 profile代表环境

如图为我git上的文件名

当config 中name属性没定义的话,则上图中application.name代表github中文件的文件前缀名,

(如果这样的话,那么我git 文件前缀名要改成 springcloud-config-client-dev.yml 。。。)

当config中 name属性定义了的话,如下图,则该config.name 会覆盖替换 application.name 属性,代表git中指定文件的前缀名

3: 检查 springcloud service 服务配置文件是否书写有误:

spring:
  application:
    name: springcloud-config-bus
  cloud:
    config:
      server:
        git:
          uri: https://gitee.com/*****/config
          search-paths: config-repository
          default-label: master
          username: ******
          password: ******
server:
  port: 8005

eureka:
  client:
    serviceUrl:
      defaultZone: http://localhost:8881/eureka/

注意git 属性配置

name 代表config service服务的服务名称, config client 端会用到一定要两边一致

search-paths 代表文件夹

default-label 代表 主分支

这三点都配置无误,一般可解决大部分无法访问git远程配置文件属性的问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值