Play 2.6、play2-maven-plugin、自定义加载器、MessagesApi 注入器问题

Play 2.6, play2-maven-plugin, custom loader, MessagesApi injector issues

我正在努力启动正在迁移到 play 2.6 的 play 应用程序

我寻找解决方案的搜索失败。

我已经扩展了 GuiceApplicationLoader 并且我正在使用 play2-maven-plugin

7) No implementation for play.api.i18n.MessagesApi was bound.
  while locating play.api.i18n.MessagesApi
    for the 1st parameter of play.i18n.MessagesApi.<init>(MessagesApi.java:27)
  while locating play.i18n.MessagesApi
    for the 1st parameter of play.core.j.DefaultJavaContextComponents.<init>(JavaAction.scala:172)
  at play.api.inject.BuiltinModule$$anonfun$$lessinit$greater.apply(BuiltinModule.scala:81):
Binding(interface play.core.j.JavaContextComponents to ConstructionTarget(class play.core.j.DefaultJavaContextComponents)) (via modules: com.google.inject.util.Modules$OverrideModule -> play.api.inject.guice.GuiceableModuleConversions$$anon)

8) No implementation for play.api.mvc.FlashCookieBaker was bound.

9) No implementation for play.api.mvc.SessionCookieBaker was bound.

我添加了以下依赖项

<dependency>
    <groupId>com.typesafe.play</groupId>
    <artifactId>play_2.12</artifactId>
</dependency>

MessagesApi 现在位于单独的播放模块中:https://github.com/playframework/playframework/blob/2.6.17/framework/src/play/src/main/scala/play/api/i18n/I18nModule.scala

这包含在默认播放中 reference.conf:https://github.com/playframework/playframework/blob/2.6.17/framework/src/play/src/main/resources/reference.conf#L817

默认情况下,只要依赖项在类路径上,就应该加载此 reference.conf,因此它应该可以正常工作。我在 application.conf

中覆盖了 play.modules.enabled
play.modules { enabled = []