1. 程式人生 > 其它 >idea中使用scala執行spark出現Exception in thread "main" java.lang.NoClassDefFoundError: scala/collection/Gen

idea中使用scala執行spark出現Exception in thread "main" java.lang.NoClassDefFoundError: scala/collection/Gen

idea中使用scala執行spark出現:

Exception in thread "main" java.lang.NoClassDefFoundError: scala/collection/GenTraversableOnce$class

檢視build.sbt:

name := "ScalaSBT"

version := "1.0"

scalaVersion := "2.11.8"

libraryDependencies += "org.apache.spark" % "spark-core_2.11" % "1.6.1"

你需要確保 spark所使用的scala版本與你係統scala的版本一致

你也可以這樣:

libraryDependencies += "org.apache.spark" %% "spark-core" % "1.6.1"  

那怎樣確認你的版本是否一致呢:

1 .首先檢視你程式碼使用的版本,這個就是從pom.xml中或者sbt配置檔案中檢視

確定你的使用版本

2.檢視你的spark的叢集,spark使用的scala的版本

  a. 執行spark-shell ,在啟動結束會顯示版本

    b.進入spark的安裝目錄檢視jars目錄下,scala中的類庫版本號

ls /usr/local/spark/jars | grep scala

  顯示如下:

然後你就可以修改你使用的scala版本號了

問題解決