Exception in thread “main“ java.lang.NoSuchMethodError: scala.Predef$.refArrayOps

使用IDEA工具运行SparkStreaming的WordCount时,运行报错,报错信息如下:

Exception in thread "main" java.lang.NoSuchMethodError: scala.Predef$.refArrayOps([Ljava/lang/Object;)Lscala/collection/mutable/ArrayOps;
	at org.apache.spark.util.Utils$.getCallSite(Utils.scala:1406)
	at org.apache.spark.SparkContext.<init>(SparkContext.scala:76)
	at com.spark.core.wc.Spark_01_WordCount$.main(Spark_01_WordCount.scala:10)
	at com.spark.core.wc.Spark_01_WordCount.main(Spark_01_WordCount.scala)

报错原因是:pom.xml文件引入的scala版本和idea下载的scala版本不一样

解决方法:

点击Project Structure
Exception in thread “main“ java.lang.NoSuchMethodError: scala.Predef$.refArrayOps_第1张图片
查看scala版本,我这里是是2.12.0版
Exception in thread “main“ java.lang.NoSuchMethodError: scala.Predef$.refArrayOps_第2张图片

打开项目的pom.xml文件

我的scala版本是2.12,所以就导spark-streaming_2.12,如果是2.11就是spark-streaming_2.11

<dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-streaming_2.12</artifactId>
    <version>3.1.2</version>
</dependency>

你可能感兴趣的:(Spark,scala,java,spark)