运行Spark时报错:
java.lang.BootstrapMethodError: java.lang.NoClassDefFoundError: scala/runtime/java8/JFunc
首先,我检查了一下我使用的scala版本与maven中引入的scala版本是否一致,发现二者一致,那为什么还会报错呢?
我之前使用的是2.12版本的scala,已经从项目中删掉了,现在使用和引入的都是2.11版本的scala。难道是我当前项目使用的scala版本还没有生效,停留在之前删掉的那个版本?
多方查阅发现我的猜想是对的——之前编译的scala2.12的class文件被当作缓存重新被编译器复用了,所以我只需要重新编译一下或者清空一下缓存即可!
这里,我选择清空一下缓存,操作如下:
然后,项目就能正常运行啦!