播放2.6.x Scala
我在文件夹application.conf
中有一个默认的{project}/conf/
,但是我希望通过将相应的文件作为命令行参数传递来覆盖某些值,具体取决于环境({{3 }}):
sbt run -Dconfig.file=/conf/qa.conf
或sbt run -Dconfig.resource=qa.conf
但是我无法接受比赛。这是我的文件目录:
application
|- playApp1
|- playApp2
|-- conf
|-- application.conf
|-- qa.conf
我的build.sbt
使playApp2成为加载时的默认项目。我已经确认了defulat application.conf
正在运行 - 只是覆盖不是。
感谢您的任何想法!
-
更新
以下是HOCON文件播放使用。 application.conf
platform {
scheme = "http"
host = "localhost:8080"
}
以及qa.conf
include "application.conf"
platform {
scheme = "https"
host = "ea311.34.com"
}
答案 0 :(得分:2)
您的问题是HOCON,如果您没有意识到这一点。
没有看到你的application.conf
我只能提供一般答案。以下是为akka.log-config-on-start
提供默认值的示例,如果已定义,将由Java系统属性或名为CONFIG_DUMP
的环境变量覆盖:
akka {
log-config-on-start = false
log-config-on-start = ${?CONFIG_DUMP}
}
HOCON的这个功能是documented here。
答案 1 :(得分:1)
如果您首先提供命令行参数
,则此方法有效sbt -Dconfig.resource=qa.conf run