0
java.lang.NoSuchMethodError: com.fasterxml.jackson.core.JsonFactory.requiresPropertyOrdering
當我嘗試運行由sbt構建的jar時拋出。我對該jar進行了反編譯,發現它缺少該方法。缺少方法在由sbt構建的jar中
但是,在其他節點上,一切都很好。同一個項目和同一版本的sbt(0.13.8),不知道哪裏出錯。
更新:
libraryDependencies ++= {
val akkaV = "2.3.6"
val sprayV = "1.3.2"
val jacksonV = "2.4.1"
val kamonVersion = "0.5.2"
Seq(
"org.apache.poi" % "poi" % "3.12"
, "org.apache.poi" % "poi-ooxml" % "3.12"
, "io.spray" %% "spray-routing" % sprayV
, "io.spray" %% "spray-can" % sprayV
, "io.spray" %% "spray-client" % sprayV
, "io.spray" %% "spray-http" % sprayV
, "io.spray" %% "spray-testkit" % sprayV % "test"
, "io.spray" %% "spray-json" % "1.3.1"
, "io.spray" %% "spray-caching" % "1.3.1"
, "org.scalatest" %% "scalatest" % "2.2.1" % "test"
, "org.reactivemongo" %% "reactivemongo" % "0.11.1"
, "com.github.nscala-time" %% "nscala-time" % "1.2.0"
, "com.typesafe.akka" %% "akka-actor" % akkaV
, "com.typesafe.akka" %% "akka-slf4j" % akkaV
, "com.typesafe.akka" %% "akka-testkit" % akkaV % "test"
, "org.specs2" %% "specs2-core" % "2.4.15" % "test"
, "com.gettyimages" %% "spray-swagger" % "0.5.0"
, "ch.qos.logback" % "logback-classic" % "1.1.2"
, "com.fasterxml.jackson.core" % "jackson-core" % jacksonV
, "com.fasterxml.jackson.core" % "jackson-annotations" % jacksonV
, "com.fasterxml.jackson.core" % "jackson-databind" % jacksonV
, "com.fasterxml.jackson.dataformat" % "jackson-dataformat-yaml" % jacksonV
, "com.fasterxml.jackson.datatype" % "jackson-datatype-joda" % jacksonV
, ("com.sksamuel.elastic4s" %% "elastic4s-core" % "1.6.0")
, "org.scala-lang.modules" %% "scala-async" % "0.9.3"
, "org.apache.velocity" % "velocity" % "1.7"
, "com.github.mauricio" %% "mysql-async" % "0.2.15"
, ("joda-time" % "joda-time" % "2.7")
, "mysql" % "mysql-connector-java" % "5.1.34"
, "org.apache.commons" % "commons-email" % "1.2"
, "commons-lang" % "commons-lang" % "2.6"
, "commons-codec" % "commons-codec" % "1.9"
, "com.typesafe.akka" %% "akka-contrib" % akkaV
, "com.typesafe.akka" %% "akka-testkit" % akkaV
, "org.mongodb" % "mongo-java-driver" % "3.0.1"
, "com.github.scullxbones" %% "akka-persistence-mongo-rxmongo" % "0.4.0"
, "org.reflections" % "reflections" % "0.9.10"
,"org.apache.kafka" % "kafka_2.11" % "0.8.2.0" excludeAll(ExclusionRule(organization="org.slf4j"))
, "com.oracle" % "ojdbc14" % "10.2.0.4.0"
,"org.elasticsearch" % "elasticsearch" % "1.6.0"
, "io.kamon" % "kamon-core_2.11" % kamonVersion
, "io.kamon" % "kamon-log-reporter_2.11" % kamonVersion
, "io.kamon" %% "kamon-system-metrics" % kamonVersion
, "org.aspectj" % "aspectjweaver" % "1.8.5"
, "io.kamon" %% "kamon-akka" % kamonVersion
, "io.kamon" %% "kamon-spray" % kamonVersion
, "io.kamon" % "kamon-annotation_2.11" % kamonVersion
,"com.unboundid" % "unboundid-ldapsdk" % "3.0.0"
)
}
假定工作節點A和不正常的一個是B.我刪除這兩個節點上傑克遜核心-2.1.1罐子,SBT編譯後,節點A沒有下載那個罐子,但節點B做到了。這真的很奇怪。
這兩個節點有什麼不同? –
您是否在另一個節點上反編譯JAR以驗證它是否在那裏? – gpgekko
我確實驗證過它在裏面。 –