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

运行Scala程序,出现如下问题:

Exception in thread “main” java.lang.NoSuchMethodError: scala.Predef..conforms()Lscala/Predef$$less$colon$less;

at org.apache.spark.util.Utils$.getSystemProperties(Utils.scala:1546)

at org.apache.spark.SparkConf.(SparkConf.scala:59)

at org.apache.spark.SparkConf.(SparkConf.scala:53)

at com.nb.sparkApps.sql.SparkSQLUDFUDAF$.main(SparkSQLUDFUDAF.scala:19)

at com.nb.sparkApps.sql.SparkSQLUDFUDAF.main(SparkSQLUDFUDAF.scala)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:497)

at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)

 

出现问题原因是由于Sparkscala版本差异

 

因为在pom.xml文件中定义了Spark和scala版本

 

但是在Project Settings --> Libraries中又进行了额外引入,引入了SDK

 

解决办法:

在Libraries中删除引入的Scala版本,保证与pom.xml中定义一致

猜你喜欢

转载自blog.csdn.net/canglan211/article/details/83058642