0
我最近更新了Play框架到2.4,並且我的配置管理出了問題。玩! 2.4添加補充配置文件
此前,我曾使用主文件application.conf
和特定配置文件application.dev.conf
和application.prod.conf
來覆蓋一些配置值。
然而,對於新版本,似乎配置沒有正確合併。我用下面的ApplicationLoader爲顯示在documentation:
package config
import com.typesafe.config.ConfigFactory
import play.api.{Logger, ApplicationLoader, Configuration}
import play.api.inject._
import play.api.inject.guice._
class CustomApplicationLoader extends GuiceApplicationLoader {
override def builder(context : ApplicationLoader.Context) = {
val mode = context.environment.mode.toString
val extraConfName = s"application.${mode.toLowerCase}.conf")
val extra = Configuration(ConfigFactory.load(extraConfName))
initialBuilder
.in(context.environment)
.loadConfig(extra ++ context.initialConfiguration)
.overrides(overrides(context): _*)
}
}
而且我在application.conf
文件中添加了這個類裝載器:
play.application.loader = "config.CustomApplicationLoader"
但僅從application.conf
值似乎是考慮到在最終配置。有沒有想到這可能來自哪裏?