在生产Play项目中,您可以通过向类路径添加另一个application.conf
来有选择地覆盖设置。但是,这似乎不适用于开发运行任务。这将非常有用,因此不同的开发人员可以在不影响版本化文件的情况下测试/使用不同的设置。
在使用typesefe-config的非Play scala项目中,您可以通过在sbt config中添加额外的application.conf来实现此目的:
unmanagedClasspath in Runtime ++= sys.env.get("CUSTOM_CONFIG").map(ec=>Attributed.blank(file(ec))).toSeq
这样每个开发人员都可以拥有自己的覆盖。然而,根据sbt inspect
,Play运行任务似乎并不尊重这一点,这取决于runtime:unamanagedClasspath
设置。
您当然可以提供application.conf
的完整替代,但不能覆盖几个条目。
任何人都知道如何做到这一点?
答案 0 :(得分:3)
创建一个新的配置文件:/my/local.conf
在该档案中:
include "application.conf"
my.custom.setting="hello"
第一行引用了类路径中的application.conf。后续行添加/覆盖设置。
你开始吧:
sbt -Dconfig.file=/my/local.conf ~run