繁体   English   中英

来自外部文件的Typesafe Config覆盖值

[英]Typesafe Config overriding values from external file

我将所有配置都设置到位于src / main / resources下的application.conf中。 当我在生产模式下运行我的应用程序时,效果很好。

val config = ConfigFactory.load()

在某些情况下,当我在docker容器中运行我的应用程序时,我需要覆盖大约30个属性。

当我添加

-Dconfig.file="/etc/deployed.conf"

它排除了所有包含“ application.conf”且未在“ deployed.conf”中覆盖的原始属性。

有什么办法解决这个问题?

更新:

val myCfg =  ConfigFactory.parseFile(new File("etc/deployed.conf"))
val config = ConfigFactory.load().withFallback(myCfg)

覆盖application.conf中的值,如果此文件不存在,将不会引发任何异常?

如果手动创建它,则可以使用withFallback方法。

Config appConfig = ConfigFactory.parseResources(configs.remove(0));
for (String resource : configs) {
    appConfig = appConfig.withFallback(ConfigFactory.parseResources(resource));
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM