报错
Exception in thread "main" java.lang.NoSuchMethodError: scala.Product.$init$(Lscala/Product;)V
at org.apache.spark.SparkConf$DeprecatedConfig.<init>(SparkConf.scala:809)
at org.apache.spark.SparkConf$.<init>(SparkConf.scala:642)
at org.apache.spark.SparkConf$.<clinit>(SparkConf.scala)
at org.apache.spark.SparkConf.set(SparkConf.scala:94)
at org.apache.spark.SparkConf.set(SparkConf.scala:83)
at org.apache.spark.SparkConf.setAppName(SparkConf.scala:120)
at cn.itcast.spark.wordcount$.main(wordcount.scala:11)
at cn.itcast.spark.wordcount.main(wordcount.scala)
分析
由于本人打开的项目是很久之前学习使用的测试项目,并且换了 idea 的版本,所以猜测是不是哪里的环境没有配好 ?找了一下,果然!
如上图所示,当前idea
引入的scala
运行环境版本与idea
默认的scala
版本不一样,默认的是 2.11.0
,而pom.xml 中导入的是 2.12.12
。
解决
查看本项目的Project Structure
,点击Global Libraries
选项,如果本地有 2.12.12
可以进行导入,没有可以进行下载:
点击Brows
,浏览本地文件,找到 scala-2.12.12文件夹
即可:
添加成功后,选中 scala-sdk-2.12.12
,点击应用就行了: