hereのように、ScalaオブジェクトからJSON Stringを作成しようとしています。Scala/Spark:NoClassDefFoundError:net/liftweb/json/Formats
私は次のコードを持っている:
import scala.collection.mutable._
import net.liftweb.json._
import net.liftweb.json.Serialization.write
case class Person(name: String, address: Address)
case class Address(city: String, state: String)
object LiftJsonTest extends App {
val p = Person("Alvin Alexander", Address("Talkeetna", "AK"))
// create a JSON string from the Person, then print it
implicit val formats = DefaultFormats
val jsonString = write(p)
println(jsonString)
}
マイbuild.sbtファイルには以下が含まれています。
libraryDependencies += "net.liftweb" %% "lift-json" % "2.5+"
私はsbt package
でビルドする場合、それは成功です。しかし
、私はスパークジョブとしてそれを実行しようとすると、次のように:
spark-submit \
--packages com.amazonaws:aws-java-sdk-pom:1.10.34,org.apache.hadoop:hadoop-aws:2.6.0,net.liftweb:lift-json:2.5+ \
--class "com.foo.MyClass" \
--master local[4] \
target/scala-2.10/my-app_2.10-0.0.1.jar
私はこのエラーを取得する:
Exception in thread "main" java.lang.RuntimeException: [unresolved dependency: net.liftweb#lift-json;2.5+: not found]
at org.apache.spark.deploy.SparkSubmitUtils$.resolveMavenCoordinates(SparkSubmit.scala:1068)
at org.apache.spark.deploy.SparkSubmit$.prepareSubmitEnvironment(SparkSubmit.scala:287)
at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:154)
at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:121)
at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
は、私はここで間違って何をしているのですか?私のpackages
引数のnet.liftweb:lift-json:2.5+
は間違っていますか? build.sbtにリゾルバを追加する必要がありますか?あなたのbuild.sbt
で
ここで最も良い解決策は、2.6.3のlift-jsonの最新リリース版を使用することです。 –