我正在使用 Play Framework 2.2.x/Java。
我想创建一个模块来从我的主应用程序中分离一些逻辑,并且我想使用模块内的application.conf进行配置,而不是使用主应用程序的配置文件!
但是在模块中使用以下代码段,仅从主应用程序配置文件中读取值:
Play.application().configuration().getString("myVar");
有没有其他方法可以从我的模块中的application.conf文件中获取值?
我正在使用 Play Framework 2.2.x/Java。
我想创建一个模块来从我的主应用程序中分离一些逻辑,并且我想使用模块内的application.conf进行配置,而不是使用主应用程序的配置文件!
但是在模块中使用以下代码段,仅从主应用程序配置文件中读取值:
Play.application().configuration().getString("myVar");
有没有其他方法可以从我的模块中的application.conf文件中获取值?
Play 使用typesafe-config库来读取配置。这实际上是一个 Java 库,尽管 Typesafe 是一家 Scala 公司。
typesafe-config 的文档说“这个想法是库和框架应该在它们的 jar 中附带一个 reference.conf。”
所以你的模块配置应该存储在一个名为的文件中reference.conf
- 格式完全相同,只是名称不同。
出现问题是因为两个配置文件之间存在冲突,因为它们的名称相同,所以它可能是通过类路径顺序或其他方式发生的。不要使用两个application.conf
文件——这个问题过去一直困扰着我!
将您的配置保存到 ie 中。/conf/my-module.conf
的主应用程序,然后将其包含在application.conf
类似的末尾:
include "my-module.conf"