破解在idea中无法加载spring cloud config中多环境配置之谜

先简单说一下spring cloud的配置中心的一些概念

Spring-cloud Config Server 有多种种配置方式,

1、config 默认Git加载
通过spring.cloud.config.server.git.uri指定配置信息存储的git地址,比如:https://github.com/xxx/config-repo

2、加载本地开发环境
spring.profiles.active=native
spring.cloud.config.server.native.searchLocations=classpath:/config
所以我现在的配置大致如下(yml)

spring:
  application:
    name: config-center
  profiles:
    active: native
  cloud:
    config:
      server:
        native:
          searchLocations: classpath:/configs/{profile}
#          searchLocations: file:/d:/configs/{profile}
        git:
          uri: https://xx.com/xxx/cloud-service-configs.git
          default-label: master
          force-pull: true
          searchPaths: '{profile}'

因为配置了active: native,所以这里是使用本地配置的

8bb3147ba6e9ae64b1766a33e6809136421.jpg

我们这里有一个configs.dev的目录

而具体的微服务需要做如下配置来获取dev目录下的配置(以productprovider微服务为例)

spring:
  application:
    name: productprovider
  cloud:
    config:
      discovery:
        enabled: true
        serviceId: config-center
      profile: dev

 

要进行多环境配置,比如我们要建立一个local的配置

如果我们这样建立一个文件夹的话

fb85e0b7299db4eade3baaf9d09096524b8.jpg

其结果是真的建立了一个configs.local的单一文件夹,而不是在configs文件夹下面建立一个local文件夹。

b58de6c9b6749113d0260420872e325e4a0.jpg

在这里windows,mac下面的情况都一样,所以正确的做法是进入configs目录下,手工建立一个local的文件夹(windows请在资源管理器下操作)

44d6b572e17ce5aedb277c131ad89ef5725.jpg

将你需要的配置文件拷贝到该local目录下进行修改,再修改要启动的微服务的配置

spring:
  application:
    name: productprovider
  cloud:
    config:
      discovery:
        enabled: true
        serviceId: config-center
#      profile: dev
      profile: local

就可以在多配置环境下使用配置中心了。

转载于:https://my.oschina.net/u/3768341/blog/3094027

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值