目录
第一种问题:关于版本兼容问题:版本对应关系
第二种问题:出现使用RDD或者其他一些操作的时候idea没有提示功能,类似于下面这样,但是可以编译运行通过的
第三种问题:出现某某jar包无法检测出来
第四种问题:我们喜欢看源码,但是我们每次点进去的时候都是java的源码,无法显示我们scala源码,这样导致我们很难受,所以我们用如下方法解决:
第一种问题:关于版本兼容问题版本依赖
下面我们列出来在官网找到的部分关系信息,这里我们主要看spark在版本2.4之后的,想看其他版本的可以直接去我上面给的地址即可
我们得先在这找到我们的版本对应信息,建议2.4版本往后我们选scala 2.12版本的
第二种问题:出现使用RDD或者其他一些操作的时候idea没有提示功能,类似于下面这样,但是可以编译运行通过的
这种我们点进他们的jar包发现,他们有时候会缺少一部分jar包导致我们的提示不全,很大可能是由于我们maven下载的时候出现问题了,比如你正在下载的时候关掉了idea,等等.........
解决办法:1.删掉原来的maven仓库里面的版本,重新下载 2.换一个匹配关系,比如用spark3.0.0?
第三种问题:出现某某jar包无法检测出来
scalac: Error: Error accessing E:\maven\maven_repository\org\glassfish\jersey\core\jersey-server\2.30\jersey-server-2.30.jar
scala.reflect.internal.FatalError: Error accessing E:\maven\maven_repository\org\glassfish\jersey\core\jersey-server\2.30\jersey-server-2.30.jar
at scala.tools.nsc.classpath.AggregateClassPath.$anonfun$list$3(AggregateClassPath.scala:99)
at scala.collection.Iterator.foreach(Iterator.scala:943)
at scala.collection.Iterator.foreach$(Iterator.scala:943)
at scala.collection.AbstractIterator.foreach(Iterator.scala:1431)
at scala.collection.IterableLike.foreach(IterableLike.scala:74)
at scala.collection.IterableLike.foreach$(IterableLike.scala:73)
at scala.collection.AbstractIterable.foreach(Iterable.scala:56)
at scala.tools.nsc.classpath.AggregateClassPath.list(AggregateClassPath.scala:87)
但其实我们去找到这个仓库里面的jar包发现它是存在的,这个时候我们将他压缩到我们当前的文件夹,如果可以的话说明这个jar包是可以使用的
我们进行压缩试一下,出现了下面这个信息就说明我们的jar包本来就是坏的
解决方案:1.将这个压缩包的上一级目录直接删除,然后刷新maven进行重新下载 2.换一个匹配关系,比如用spark3.0.0?
第四种问题:我们喜欢看源码,但是我们每次点进去的时候都是java的源码,无法显示我们scala源码,这样导致我们很难受,所以我们用如下方法解决:
方法一:打开project Structure
这个需要我们先去官网下载好scala的包,然后再我们本地配置好环境变量之后才可以。
第二种方法:谨慎使用,如果报错就别用了,就是再我们的maven xml配置里面加上我们的classifier里面写上sources
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.12</artifactId>
<version>3.0.0</version>
<classifier>sources</classifier> <!--如果不行就别用了-->
</dependency>
然后刷新maven即可