Spring cloud配置如何使用本地属性覆盖远程属性

all*_*yu5 10 spring spring-cloud spring-cloud-config

我知道应该设置以下属性,但仍然混淆应该设置它们的位置.

spring:
    cloud:
        config:
            allowOverride: true
            failFast: true
            overrideNone: false
Run Code Online (Sandbox Code Playgroud)

Spring云服务器端或客户端或远程git存储库上的application.properties文件?

我在服务器端的application.yml中设置它们,但是不起作用.

我尝试在远程git上的application.yml中设置,再次无法工作,希望你能给我一些帮助,谢谢.

all*_*yu5 13

我在远程git仓库中设置了以下配置.这次工作.

spring:
  cloud:
    config:
      allowOverride: true
      overrideNone: true
      overrideSystemProperties: false
Run Code Online (Sandbox Code Playgroud)


Nic*_*lau 11

从Spring Cloud 文档中的覆盖远程属性的值部分:

通过引导上下文添加到您的应用程序的属性源通常是“远程的”(例如来自配置服务器),并且默认情况下它们不能在本地被覆盖,除了在命令行上。如果你想让你的应用程序用它们自己的系统属性或配置文件覆盖远程属性,远程属性源必须通过设置授予它权限spring.cloud.config.allowOverride=true(在本地设置它不起作用)。

一旦设置了该标志,就会有一些更细粒度的设置来控制与系统属性和应用程序的本地配置相关的远程属性的位置:spring.cloud.config.overrideNone=true覆盖任何本地属性源,spring.cloud.config.overrideSystemProperties=false如果只有系统属性和环境变量应该覆盖远程设置,但不是本地配置文件。

因此,它必须在远程application.yml(例如远程 git 存储库)中设置。如前所述这里“应用程序不能自行决定,它可以从远程源覆盖配置”

  • 您能否展示如何“在命令行上”本地覆盖。如果我想在开发时在本地快速设置属性而不影响其他开发人员,该怎么办? (2认同)