如何在非播放应用程序中使用play框架配置库命令行参数

时间:2015-12-15 07:19:01

标签: playframework playframework-2.0 sbt jvm-arguments typesafe-stack

在播放应用程序中,我可以添加命令行参数来覆盖资源中的默认配置:

... -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吗?

2 个答案:

答案 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类。