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

时间:2022-05-03
本文章向大家介绍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版本号了

问题解决