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

How to use play framework config library command line parameters in non play application

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

... -Dconfig.file=/opt/conf/prod.conf

我使用播放配置库开发非播放应用程序并使用 sbt-assembly 生成 jar。

更新
我想使用命令行参数:

java -jar my-app.jar -Dconfig.file=/opt/conf/prod.conf

但是没有效果。我加载配置:

ConfigFactory.load()

我应该手动解析 cmd 参数并将文件加载到配置中吗?

播放只需使用类型安全配置。 https://github.com/typesafehub/config

您可以通过将依赖项添加到 build.sbt 并使用 Config class.

来使用相同的功能

我发现错误:

-Dconfig.file是系统参数。系统参数要写在-jar之前。它们被解释为命令行参数的其他方式。所以正确的解决方案:

java -Dconfig.file=/opt/conf/prod.conf -jar my-app.jar