在播放应用程序中,我可以添加命令行参数来覆盖资源中的默认配置:
... -Dconfig.file=/opt/conf/prod.conf
我使用播放配置库开发非播放应用程序并使用sbt-assembly生成jar。
UPD
我想使用命令行参数:
java -jar my-app.jar -Dconfig.file=/opt/conf/prod.conf
但没有效果。我用以下命令加载配置:
ConfigFactory.load()
我应该手动解析cmd params并将文件加载到config吗?
答案 0 :(得分:5)
我发现了错误:
-Dconfig.file
是一个系统参数。系统参数应在-jar
之前写入。其他方式将它们解释为命令行参数。所以正确的解决方案:
java -Dconfig.file=/opt/conf/prod.conf -jar my-app.jar
答案 1 :(得分:0)
播放只需使用typesafe-config。 https://github.com/typesafehub/config
您可以通过将依赖项添加到build.sbt中来使用相同的功能,并使用Config类。