Play Framework 2.7.x 编译时 DI 错误

Play Framework 2.7.x Compile Time DI Error

https://github.com/playframework/play-socket.io/tree/master/samples/scala/chat 创建项目并出现编译错误

overriding method applicationLifecycle in trait MyApplication of type => play.api.inject.DefaultApplicationLifecycle;
 lazy value applicationLifecycle in class BuiltInComponentsFromContext of type play.api.inject.ApplicationLifecycle has incompatible type

试试 Play 2.6.23 和 2.7.2

MyApplication 中删除以下 line 应该可以正常工作:

override def applicationLifecycle: DefaultApplicationLifecycle

使用

进行测试
  1. git clone https://github.com/playframework/play-socket.io.git
  2. cd play-socket
  3. 移除 play-socket.io/samples/scala/chat/app/modules/MyApplicationLoader.scala
  4. 的覆盖
  5. sbt "scalaChat/run" 来自根项目目录 play-socket/
  6. 命中http://localhost:9000/