Intellij IDEA 测试scala程序的时候:Exception in thread "main" java.lang.NoClassDefFoundError: scala/Predef$
错误信息如下:
Exception in thread "main" java.lang.NoClassDefFoundError: scala/Predef$
at HelloWorld$.main(HelloWorld.scala:4)
at HelloWorld.main(HelloWorld.scala)
Caused by: java.lang.ClassNotFoundException: scala.Predef$
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 2 more
排查方案一:查看自己maven版本中scala与spark版本是否匹配
查看中央仓库中的依赖
<scala.version>2.11.8</scala.version> 这是scala版本
<dependency> <!-- Spark-core 依赖为2.11的2.4.0说明该spark依赖2.11.x版本的scala -->
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.11</artifactId>
<version>2.4.0</version>
</dependency>
上述标注中可以看出,spark-core2.4.0依赖2.11或者1.12版本的scala都可以
调整IntelliJ IDEA中依赖的scala,鼠标放在工程目录名上,右键菜单中选择:右键工程名称 -> Open Model Settings--Global Library选项,