Ich habe folgende build.sbt
Datei:Jackson Version ist zu alt
name := "myProject"
version := "1.0"
scalaVersion := "2.11.8"
javaOptions ++= Seq("-Xms512M", "-Xmx2048M", "-XX:MaxPermSize=2048M", "-XX:+CMSClassUnloadingEnabled")
dependencyOverrides ++= Set(
"com.fasterxml.jackson.core" % "jackson-core" % "2.8.1"
)
// additional libraries
libraryDependencies ++= Seq(
"org.apache.spark" %% "spark-core" % "2.0.0" % "provided",
"org.apache.spark" %% "spark-sql" % "2.0.0" % "provided",
"org.apache.spark" %% "spark-hive" % "2.0.0" % "provided",
"com.databricks" %% "spark-csv" % "1.4.0",
"org.scalactic" %% "scalactic" % "2.2.1",
"org.scalatest" %% "scalatest" % "2.2.1" % "test",
"org.scalacheck" %% "scalacheck" % "1.12.4",
"com.holdenkarau" %% "spark-testing-base" % "2.0.0_0.4.4" % "test",
)
Allerdings, wenn ich den Code laufen lasse, bekomme ich diesen Fehler:
An exception or error caused a run to abort.
java.lang.ExceptionInInitializerError
Caused by: com.fasterxml.jackson.databind.JsonMappingException: Jackson version is too old 2.4.4
at com.fasterxml.jackson.module.scala.JacksonModule$class.setupModule(JacksonModule.scala:56)
at com.fasterxml.jackson.module.scala.DefaultScalaModule.setupModule(DefaultScalaModule.scala:19)
at com.fasterxml.jackson.databind.ObjectMapper.registerModule(ObjectMapper.java:549)
at org.apache.spark.rdd.RDDOperationScope$.<init>(RDDOperationScope.scala:82)
at org.apache.spark.rdd.RDDOperationScope$.<clinit>(RDDOperationScope.scala)
... 58 more
Warum ist dies der Fall? Ich habe eine neuere Version von Jackson zu dependencyOverrides
hinzugefügt (nachdem Sie hier Spark Parallelize? (Could not find creator property with name 'id') gesucht haben), so sollte eine ältere Version nicht verwendet werden.
Es muss etwas anderes sein, das die ältere Version als Abhängigkeit zieht. Sie müssen herausfinden, was das ist und eine Version von ihm erhalten, die mit Jackson aktuell ist. Maven würde es leicht machen, das herauszufinden. – duffymo
Versuchen Sie am Ende Jackson-Abhängigkeit in 'libraryDependencies' mit' force() 'hinzuzufügen:' libraryDependencies ++ = Seq (... "com.fasterxml.jackson.core"% "jackson-core"% "2.8.1 "force()" –