2017-01-27 6 views
1

私はIntelliJを使用して非常に些細なスパークコンテキストインスタンスを実行しようとしています。しかし、私はNoClassDefFoundErrorを受けてる問題に実行しているよ:NoClassDefFoundError with spark

Exception in thread "main" java.lang.NoClassDefFoundError: scala/Product$class 
    at org.apache.spark.SparkConf$DeprecatedConfig.<init>(SparkConf.scala:609) 
    at org.apache.spark.SparkConf$.<init>(SparkConf.scala:473) 
    at org.apache.spark.SparkConf$.<clinit>(SparkConf.scala) 
    at org.apache.spark.SparkConf.set(SparkConf.scala:71) 
    at org.apache.spark.SparkConf.setAppName(SparkConf.scala:86) 
    at test$.main(test.scala:8) 
    at test.main(test.scala) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:498) 
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147) 
Caused by: java.lang.ClassNotFoundException: scala.Product$class 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    ... 12 more 
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties 
17/01/27 00:24:37 INFO Utils: Shutdown hook called 

私は私のSBTのバージョンからのScalaバージョンにすべてをシフトしようとしました。ここに私の構成は以下のとおりです。私はこのコードを実行しようとしてい

enter image description here

enter image description here

enter image description here

import org.apache.spark.{SparkConf, SparkContext} 

object test { 
    def main(args: Array[String]): Unit = { 
    val conf = new SparkConf() 
    conf.setAppName("test") 
    conf.setMaster("local[2]") 
    val sc = new SparkContext(conf) 
    println(sc) 
    } 
} 

は、私が知らないものはありますScalaとSparkのバージョンの互換性はありませんか?

答えて

1

明示的に私はそれを追加しますどのxmlファイル

<dependency> 
     <groupId>org.scala-lang</groupId> 
     <artifactId>scala-library</artifactId> 
     <version>2.11.4</version> 
    </dependency> 
    <dependency> 
     <groupId>org.scala-lang</groupId> 
     <artifactId>scala-xml</artifactId> 
     <version>2.11.0-M4</version> 
    </dependency> 
+0

Scalaのライブラリとxmlの依存関係を追加しますか? –

+2

mavenを使用している場合は、pom.xmlに追加します。それ以外の場合は、クラスパスにscala-library.jarとscala-xml.jarがあることを確認してください。 – mhshimul