application.conf
我在生产模式下的 play 2.1.1 应用程序中包含外部文件时遇到问题(使用 启动时start
)
按照官方文档,我在我的添加了一个include
声明application.conf
:
[...]
include "/absolute/path/to/external/config/file.conf"
内容以这种方式加载:
configuration.getConfig("some-key")
它在开发模式下工作正常,但在生产模式下失败(它总是None
)。
这阻止了我将我的应用程序部署到生产环境。
任何帮助/想法将不胜感激。
编辑:根据 Saffron 的评论,我尝试了一些解决方法。
从包含语句中删除第一个斜杠不起作用。
通过 -Dconfig.file=/abs/path 加载配置文件会产生奇怪的结果,而且 Play 的行为似乎不一致:
play start -Dconfig.file=/path/to/file.conf
不起作用。但是启动play
THEN 运行start -Dconfig.file=/path/to/file.conf
确实有效??!!
所以我最终创建了一个新配置,而不是使用 Play 的:
val conf = ConfigFactory.parseFile(new File("/path/to/file.conf")).resolve()
val myValues = new Configuration(conf).getConfig("some-key").get
希望它可以帮助遇到同样问题的人。