Scala 播放基于环境重写'application.conf'值的框架

Scala 播放基于环境重写'application.conf'值的框架,scala,playframework,Scala,Playframework,播放2.6.x Scala 我在文件夹{project}/conf/中有一个默认的application.conf,但是我想通过将相应的文件作为命令行参数()传入,根据环境覆盖一些值: sbt run-Dconfig.file=/conf/qa.conf或sbt run-Dconfig.resource=qa.conf platform { scheme = "http" host = "localhost:8080" } include "application.conf" pla

播放2.6.x Scala

我在文件夹
{project}/conf/
中有一个默认的
application.conf
,但是我想通过将相应的文件作为命令行参数()传入,根据环境覆盖一些值:

sbt run-Dconfig.file=/conf/qa.conf
sbt run-Dconfig.resource=qa.conf

platform {
  scheme = "http"
  host = "localhost:8080"
}
include "application.conf"

platform {
  scheme = "https"
  host = "ea311.34.com"
}
但我没法打比赛去接超控球。这是我的文件目录:

application  
    |- playApp1
    |- playApp2  
       |-- conf  
           |-- application.conf 
           |-- qa.conf
My
build.sbt
使playApp2成为加载时的默认项目。我已经确认defulat
application.conf
正在工作——只是覆盖没有工作

谢谢你的建议

--

更新

以下是HOCON文件的用途
application.conf

platform {
  scheme = "http"
  host = "localhost:8080"
}
include "application.conf"

platform {
  scheme = "https"
  host = "ea311.34.com"
}
以及
qa.conf

platform {
  scheme = "http"
  host = "localhost:8080"
}
include "application.conf"

platform {
  scheme = "https"
  host = "ea311.34.com"
}
你的问题是关于,以防你没有意识到

没有看到你的
application.conf
,我只能提供一个一般性的答案。下面是一个在开始时为
akka.log config
提供默认值的示例,该值将被Java系统属性或名为
config\u DUMP
的环境变量覆盖(如果定义):

akka {
  log-config-on-start = false
  log-config-on-start = ${?CONFIG_DUMP}
}

HOCON的此功能是。

如果首先提供命令行参数,则此功能有效

sbt -Dconfig.resource=qa.conf run

请出示你的
application.conf
啊,很酷——我没有看HOCON。我喜欢人形优化配置对象符号这个名字。如果你想看的话,我在上面发布了我的应用程序配置。我也在探索你发布的链接,谢谢!请单击问题旁边的复选框接受此答案,谢谢这对我来说很有效,但对于play和guice,当我使用其他配置资源时绑定不起作用。。。所以strange@nbpeth您是否在新的config.resource中定义模块?例如,如果您有
application.conf
play.modules.enabled
键,则必须导入
application.conf
import“application”
以确保在新资源中启用模块