Scala 播放基于环境重写'application.conf'值的框架
播放2.6.x Scala 我在文件夹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
{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
Mybuild.sbt
使playApp2成为加载时的默认项目。我已经确认defulatapplication.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”
以确保在新资源中启用模块