Play Framework - 如何保持模块内部的配置?

时间:2013-11-10 10:21:40

标签: java playframework playframework-2.0 typesafe-config

我正在使用Play Framework 2.2.x / Java。

我想创建一个模块来处理我的主应用程序中的一些逻辑,并且我想在模块 中使用 application.conf 进行配置 而不是使用主应用程序的配置文件!

但是在模块中使用以下代码段,只读取主应用程序配置文件中的值:

Play.application().configuration().getString("myVar");

有没有其他方法可以从我的模块中的 application.conf 文件中获取值?

2 个答案:

答案 0 :(得分:4)

Play使用typesafe-config库来读取配置。这实际上是一个Java库,即使Typesafe是Scala公司。

typesafe-config的文档说“想法是库和框架应该在他们的jar中附带reference.conf。”

因此,您的模块配置应存储在名为reference.conf的文件中 - 格式完全相同,只是名称不同。

出现问题是因为两个配置文件之间存在冲突,因为它们的名称相同,因此它可能按类路径顺序或其他内容。不要使用两个application.conf文件 - 这个问题过去一直困扰我!

答案 1 :(得分:2)

将配置保存到ie。主应用的/conf/my-module.conf,然后将其包含在application.conf的末尾,如:

include "my-module.conf"