Scala配置:包含另一个file.conf

时间:2015-12-18 23:32:04

标签: scala typesafe-config

目前,我有一个resources/application.conf文件,其中包含以下键:

development {
    server = www.myapp.com
    aws_key = my_aws_key
    aws_secret = my_aws_secret

}

我想从文件中删除aws_keyaws_secret

我正在考虑创建另一个名为resources/credentials.conf的文件并在那里存储我的个人身份验证。

credentials {
    aws_key = my_aws_key
    aws_secret = my_aws_secret
}

,然后在include中以某种方式application.conf,或者除了Config之外,将该配置合并到application.conf对象。

credentials.conf将被git忽略。将在credentials-sample.conf中检查一个示例文件,每个开发人员将根据自己的凭据进行更改,并将示例文件重命名为credentials.conf

我尝试了include的不同变体,如

  • 包括"凭证"
  • 包括" credentials.conf"
  • 包括" ./ credentials.conf"
  • 包含文件(" ./ credentials.conf")

等等。

我知道我可以通过系统变量传递它,但我想像上面提到的那样尝试它。如果您知道更好的方法,请告诉我。

2 个答案:

答案 0 :(得分:4)

Typesafe Config提供从一种配置回退到另一种配置的方法。您可以尝试使用ConfigFactory.Load()加载不同的配置,并使用withFallback按指定的顺序排列它们。如: ConfigFactory.Load("credentials.conf") withFallback ConfigFactory.Load("application.conf")

答案 1 :(得分:0)

在您的 conf 文件中,添加

include "another_file.conf"

即:https://github.com/cicco94/scala-akka-slick-demo/blob/master/src/main/resources/application.conf

相关问题