播放应用程序配置未加载?

时间:2017-12-06 15:29:24

标签: java playframework

我的Play模块的配置未加载。

我的构建和配置文件的项目结构如下:

/project/modules/my_module/build.sbt
/project/modules/conf/my_conf.conf

我用:

运行项目
cd /project/modules/my_module
sbt "run -Dconfig.resource=conf/my_conf.conf"

当我读取设置时,它为空:

String mySetting = Play.application().configuration().getString("my_setting")

从调试应用程序开始,我的设置似乎都没有加载到Play.application.configuration()

我使用System.getProperty("user.dir")来验证工作条件是/project/modules/my_module/,因此conf/my_conf.conf应该是正确的路径。有任何建议如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

您的类路径中没有默认配置文件application.conf,尝试将my_conf.conf重命名为application.conf并使用sbt run运行您的应用,或者如果您使用的是自定义配置文件,按照以下步骤加载文件

使用-Dconfig.resource

这将在应用程序类路径中搜索备用配置文件(通常在打包之前将这些备用配置文件提供到应用程序conf /目录中)。播放将调查conf / ,因此您无需添加conf /.

$ /path/to/bin/<project-name> -Dconfig.resource=prod.conf

因此请尝试使用sbt run -Dconfig.resource=my_conf.conf

运行应用

这两个播放文档将帮助您更好地了解  https://www.playframework.com/documentation/2.6.x/ConfigFile https://www.playframework.com/documentation/2.6.x/ProductionConfiguration