播放 - 根据应用模式加载guice模块

我想根据当前的应用程序模式控制我正在加载的模块 .

所以,如果我有以下模块:ModuleDev,ModuleProd我想写这样的东西:

class CostumGuiceApplicationLoader extends GuiceApplicationLoader {
    override def builder(context: ApplicationLoader.Context): GuiceApplicationBuilder = {
  initialBuilder
    .in(context.environment)
    .loadConfig(context.initialConfiguration)
    .overrides(overrides(context): _*)
  }

  play.api.Play.current match{
    case Mode.Prod => initialBuilder.bindings(new ModuleProd)
    case Mode.Dev => initialBuilder.bindings(new ModuleDev)
  }
}

但我得到一个异常:java.lang.RuntimeException:没有启动的应用程序

所以我不确定在我的应用程序的生命周期中我应该添加这个逻辑 .
我使用这个article作为参考

谢谢!

回答(0)