Ich versuche, einen Protokollfilter zu erstellen, basierend auf Play documentation, aber ich kann nicht herausfinden, was vor sich geht.Fehler beim Einfügen von Konstruktor, java.lang.ClassCastException: Play 2.5.4 - Scala
Ich habe Thios Fehlermeldung:
unerwartete Ausnahme ProvisionException: Kann nicht Bereitstellung finden Sie in den folgende Fehler:
1) Fehler Injektion Konstruktor java.lang.ClassCastException: [Ljava. lang.Objekt; kann nicht in [Lplay.mvc.EssentialFilter; bei Filter (Filters.scala: 11). beim Positionieren Filters während play.http.HttpFilters Parameter für 0 bei play.api.http.JavaHttpFiltersAdapter lokalisieren. (HttpFilters.scala: 63)
während play.api lokalisieren. . http.JavaHttpFiltersAdapter während play.api.http.HttpFilters für Parameter 3 bei play.api.http.JavaCompatibleHttpRequestHandler Ortung (HttpRequestHandler.scala: 200), während play.api.http.JavaCompatibleHttpRequestHandler Lokalisieren während play.api lokalisieren. http.HttpRequestHandler für Parameter 4 bei play.api.DefaultApplication. (Application.scala: 221) um play.api.DefaultApplication.class (Application.scala: 221) während Ortung p lay.api.DefaultApplication während Ortung play.api.Application1 Fehler
Aber mein LoggingFilter erstreckt EssentialFilter (I in der Dokumentation Code kopiert). Muss ich etwas für Guice binden?
Hier mein 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
Hier mein 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")
Haben Sie setzen Sie Ihre Klasse in der Root-Paket? Wenn nicht, sollten Sie dies in Ihrem conf hinzufügen: 'play.http.filters = com.example.MyFilters'. Überprüfen Sie auch, ob Ihre Importe korrekt sind. –
Ja, insan-e, ich habe das selbe gemacht, was in doc: "play.http.filters = Filter" in der application.conf & "Filter" -Klasse in App/Ordner erklärt wurde. –
Ich habe auch dieses Problem.Ich benutze Java und ich habe genau die Dokumentation gefolgt – vizog