我剛纔已經更新到2.5.2播放,和我的過濾器(它運行在登錄)給了我以下錯誤:升級後打2.5:錯誤注入構造
ProvisionException: Unable to provision, see the following errors:
1) Error injecting constructor, java.lang.RuntimeException: There is no started application
at filters.LoginFilter.<init>(LoginFilter.scala:15)
我不得不修改我的代碼一點點的2.5.2匹配設置過濾的新變化:
import akka.stream.Materializer
import com.google.inject.Inject
import play.api.Play._
import play.api.cache.CacheApi
import play.api.mvc.Results._
import play.api.mvc.{Filter, RequestHeader, Result}
import scala.concurrent.{ExecutionContext, Future}
class LoginFilter @Inject() (implicit val mat: Materializer, ec: ExecutionContext) extends Filter {
}
我不得不與Materializer添加@Inject否則我有一個錯誤消息說,類應該是抽象的還是應該執行Materializer 。
我該如何解決這個問題?謝謝 !
東西在你的代碼似乎都需要運行的應用程序。常見的嫌疑人是Play.current,Play.configuration等。您可能必須顯示整個過濾器類和可能更多的堆棧跟蹤。另外,哪一行號碼是15? – rethab
問題是什麼?它似乎使用DI爲你解決它? –
我有同樣的問題,但用'GzipFilter'代替。我想知道如果問題是一個不推薦使用的'object'控制器(而不是使用'class .. @Inject()....')的新控件導致過濾器在應用程序之前被創建得太早已開始。而轉換爲'class ... @Inject()'會解決這個問題。 - 你找到了解決方案嗎? – KajMagnus