scala - 注入(inject)构造函数时出错,java.lang.ClassCastException : Play 2. 5.4 - Scala

标签 scala playframework-2.0 code-injection

我正在尝试创建一个基于 Play documentation 的日志过滤器但我不知道发生了什么。

我收到 thios 错误消息:

Unexpected exception ProvisionException: Unable to provision, see the following errors:

1) Error injecting constructor, java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Lplay.mvc.EssentialFilter; at Filters.(Filters.scala:11) while locating Filters while locating play.http.HttpFilters for parameter 0 at play.api.http.JavaHttpFiltersAdapter.(HttpFilters.scala:63)
while locating play.api.http.JavaHttpFiltersAdapter while locating play.api.http.HttpFilters for parameter 3 at play.api.http.JavaCompatibleHttpRequestHandler.(HttpRequestHandler.scala:200) while locating play.api.http.JavaCompatibleHttpRequestHandler while locating play.api.http.HttpRequestHandler for parameter 4 at play.api.DefaultApplication.(Application.scala:221) at play.api.DefaultApplication.class(Application.scala:221) while locating play.api.DefaultApplication while locating play.api.Application

1 error

但是我的 LoggingFilter 扩展了 EssentialFilter(我复制了文档代码)。 我需要为 Guice 绑定(bind)一些东西吗?

这是我的 built.sbt:

    name := """abc"""

version := "1.0-SNAPSHOT"

lazy val root = (project in file(".")).enablePlugins(PlayScala)

scalaVersion := "2.11.8"

libraryDependencies ++= Seq(
  jdbc,
  cache,
  ws,
  filters,
  "org.scalatestplus.play" %% "scalatestplus-play" % "1.5.1" % Test,
  "org.webjars" %% "webjars-play" % "2.5.0",
  "org.webjars" % "react" % "0.13.1"
)

resolvers += "scalaz-bintray" at "http://dl.bintray.com/scalaz/releases"

routesGenerator := InjectedRoutesGenerator

这是我的 plugins.sbt :

// The Typesafe repository
resolvers += "Typesafe repository" at "https://repo.typesafe.com/typesafe/releases/"

// Eclpise Plugin
addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "4.0.0")

// The Play plugin
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.5.4")

// web plugins

addSbtPlugin("com.typesafe.sbt" % "sbt-coffeescript" % "1.0.0")

addSbtPlugin("com.typesafe.sbt" % "sbt-less" % "1.1.0")

addSbtPlugin("com.typesafe.sbt" % "sbt-jshint" % "1.0.3")

addSbtPlugin("com.typesafe.sbt" % "sbt-rjs" % "1.0.7")

addSbtPlugin("com.typesafe.sbt" % "sbt-digest" % "1.1.0")

addSbtPlugin("com.typesafe.sbt" % "sbt-mocha" % "1.1.0")

addSbtPlugin("org.irundaia.sbt" % "sbt-sassify" % "1.4.2")

// transform JSX assets to js
addSbtPlugin("com.github.ddispaltro" % "sbt-reactjs" % "0.5.0")

最佳答案

看起来这是 DefaultHttpFilters 类的构造函数中的错误。该错误存在于 2.5.4 中,将在 2.5.5 里程碑中修复,该里程碑尚不可用且没有截止日期。我也想要一个解决方法。

问题的 URL:https://github.com/playframework/playframework/pull/6238

关于scala - 注入(inject)构造函数时出错,java.lang.ClassCastException : Play 2. 5.4 - Scala,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38150069/

相关文章:

jsf - 注入(inject)无状态 EJB 和 JSF 托管 bean 会导致 WAS 8.5 中出现 Null Pointer ex

scala - distinct() 是否对数据集进行排序?

scala - 如何配置 Play 应用程序以使用 Let's Encrypt 证书并转换 Let's Encrypt 证书以便 play 可以理解它?

java - 如何在生产中处理 Play Framework 2 数据库演进

amazon-web-services - 将 Play 应用程序部署到 AWS

playframework - 无法找到 play.filters 包

javascript - 使用 cocoa 将 JavaScript 注入(inject)网站时遇到问题

java - Guice注入(inject): parameter not explicity bound

java - 无法添加 protobuf 自动生成类的一系列实例

scala - 一个参数的默认值如何引用另一个参数?