idea中使用scala运行spark出现Exception in thread "main" java.lang.NoClassDefFoundError: scala/collection/GenTraversableOnce$class

时间:2021-11-13 09:17:41

idea中使用scala运行spark出现:

  

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

 

查看build.sbt:

  

idea中使用scala运行spark出现Exception in thread "main" java.lang.NoClassDefFoundError: scala/collection/GenTraversableOnce$class
name := "ScalaSBT"

version := "1.0"

scalaVersion := "2.11.8"

libraryDependencies += "org.apache.spark" % "spark-core_2.11" % "1.6.1"
idea中使用scala运行spark出现Exception in thread "main" java.lang.NoClassDefFoundError: scala/collection/GenTraversableOnce$class

 

你需要确保 spark所使用的scala版本与你系统scala的版本一致

 

你也可以这样:

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

那怎样确认你的版本是否一致呢:

1 .首先查看你代码使用的版本,这个就是从pom.xml中或者sbt配置文件中查看

确定你的使用版本

2.查看你的spark的集群,spark使用的scala的版本

  a. 运行spark-shell ,在启动结束会显示版本

idea中使用scala运行spark出现Exception in thread "main" java.lang.NoClassDefFoundError: scala/collection/GenTraversableOnce$class

    b.进入spark的安装目录查看jars目录下,scala中的类库版本号

  

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

  显示如下:

idea中使用scala运行spark出现Exception in thread "main" java.lang.NoClassDefFoundError: scala/collection/GenTraversableOnce$class

然后你就可以修改你使用的scala版本号了

问题解决