我是Akka的新手,想要为每个环境设置不同的application.conf
文件(测试,登台,生产等)。
我从Akka上读到documentation,但我无法找到办法。
您是否知道有多种配置文件的正确方法?
答案 0 :(得分:0)
以下是几种方法。
prod-config:{YOUR_CONFIGURATION_FOR_PROD}
test-config:{YOUR_CONFIGURATION_TEST_ENV}
等等
application-prod.conf
到application.conf
答案 1 :(得分:0)
在application.conf中有一个可能的变量就是" confFile",基于实际的环境
confFile=${?CONF_FILE_NAME}
然后在你的代码中,你加载像这样的对应文件
val configFile = ConfigFactory.load().getString("confFile")
val appConf = ConfigFactory.load(configFile)
答案 2 :(得分:0)
这个选项与Akka和配置库的关系并不多。 Akka使用默认的配置分辨率,除非你给它一个Config
实例。
由于没有特定的用户代码来手动选择特定文件,因此您有几个选项。我认为最有用的是系统属性config.resource
来选择类路径上的文件(例如在app jar中),config.file
来使用文件系统中的文件。
当然,您可能仍有理由编写自己的代码来选择文件,如其他答案所示。
配置库文档中的更多详细信息:https://github.com/lightbend/config#standard-behavior
答案 3 :(得分:0)
Akka使用Typesafe Config Library。
便捷方法ConfigFactory.load()加载以下内容(优先级高的列表):
因此,我们通常在/ resources文件夹中创建一个application.conf文件。
对于不同的环境,我们可以创建特定于环境的文件,例如
使用includes,在开头包含application.conf并指定特定于环境的配置,这些配置将覆盖application.conf。
要使用特定环境,请强制使用其他配置源(例如,从命令行-Dconfig.resource = environment.conf)
使用以下命令启动您的应用程序:
$ sbt运行-Dconfig.resource = development.conf