覆盖YAML

时间:2017-09-25 11:08:53

标签: java spring properties

我有一个第三方库,正在使用i mportant-config.yaml 文件进行配置。

prop1: value1
prop2: value2(need to override)
prop3: value3

要引用它,我在 application.properties 中有下一行:

important-config=classpath:important-config.yaml

yaml文件中有一个属性取决于运行app的环境。所以我需要在启动时override这个属性。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

我可以看到三种合适的变体来解决它:

  1. 直接在application.properties中覆盖属性。我认为优先级更高,包括congig(至少你可以在放置important-config后尝试覆盖属性)。
  2. 您可以直接使用命令行覆盖所选属性java -jar jenkins.war
  3. 或通过系统属性覆盖java -jar app.jar --prop2="value2"
  4. 您可以在http://www.baeldung.com/properties-with-spring

    找到完整的信息

    绝对所有属性都存储在Spring java -Dprop2="value2"-jar app.jar对象中。您应该注意完整的变量名称,因为根据其他设置, prop2 可以存储在 xxx.yyy.prop2 中。