我已经开始将一些功能提取到一个单独的Play模块中,并将一些默认配置与我Typesafe's Config
library所述的模块中的文件conf/reference.conf
放在一起。这种配置很好,例如,通过功能测试在模块的上下文中运行。
但是一旦我尝试根据所述模块启动应用程序,我似乎遇到了一些类加载器问题,例如我从Akka子系统得到了一些奇怪的抱怨:
No configuration setting found for key 'akka.version'
一旦我从模块中删除文件reference.conf
(没有其他更改),此异常就消失了,但显然应用程序将不再起作用。目前,模块配置位于文件conf/module-reference.conf
中,我在主应用程序的配置中include
。这有效,但我想摆脱include
。
我怀疑我的reference.conf
以某种方式遮蔽了Akka提供的那个。有没有人遇到过这个问题?什么是解决这个问题的最佳方法?
答案 0 :(得分:0)
看起来我是一些奇怪的文件系统不一致的受害者:
play publish-locally
play eclipsify
创建)使用此过程,应用程序的配置正常。
在研究这个问题时,我遇到了Typesafe的Config库的一个有用功能。您可以使用以下代码行获取整个配置树,包括每个条目的来源:
val configDump: String = current.configuration().underlying.root().render()
和将其转储到文件中以供进一步分析。