Exception in thread "main" java.lang.NoSuchMethodError: scala.Predef$.$conforms()Lscala/Predef$$less

来源:互联网 发布:手机图像对比软件 编辑:程序博客网 时间:2024/05/22 17:35

解决Exception in thread "main" java.lang.NoSuchMethodError: scala.Predef$.$conforms()Lscala/Predef$$less$colon$less; 问题

最近刚开始在Linux的Idea中运行Spark的Scala程序,试了例程WordCount,结果报错。

仔细查了原因,发现有人说依赖冲突(conflicts of dependencies)以及多版本的Scala(likely have multiple major versions of scala that comes as transitive dependencies)于是想到自己的环境问题。

我是JDK_1.8.0_131,Hadoop2.8.0,Scala_2.12.2,Spark_2.1.0.  而Spark2.1.0 包里自带的Scala库是2.11.8版本的,于是把SDK改成2.11.8版本的,就能成功运行了。步骤:

选择File -> Project Structure -> Global Labraries, 删掉原来的SDK,添加新的SDK:选择Browse,找到自己Spark的安装目录 -> jars,找到和Scala相关的jar包,把complier、library、reflect的jar包都添加进来 -> ok -> ok -> Apply。大功告成,再运行试试看。

0 0