Scala 在IntelliJ IDEA中打开Apache Spark源代码时出错

Scala 在IntelliJ IDEA中打开Apache Spark源代码时出错,scala,maven,intellij-idea,apache-spark,Scala,Maven,Intellij Idea,Apache Spark,我试图用IntelliJ IDEA打开Apache Spark源代码 我在Spark源代码根目录中打开了pom.xml。 项目树显示在“项目工具”窗口中 但是,当我打开一个源文件时,比如org.apache.spark.deploy.warn.ClientBase.scala,编辑器滚动条上会显示很多红色标记。这是“无法解析符号”错误。即使它也无法解析StringOps.format 我怎样才能修好它 在文件|项目结构窗口中,以下错误消息以粉红色背景显示: Library ‘Maven: org

我试图用IntelliJ IDEA打开Apache Spark源代码

我在Spark源代码根目录中打开了pom.xml。
项目树显示在“项目工具”窗口中

但是,当我打开一个源文件时,比如org.apache.spark.deploy.warn.ClientBase.scala,编辑器滚动条上会显示很多红色标记。这是“无法解析符号”错误。即使它也无法解析StringOps.format

我怎样才能修好它

在文件|项目结构窗口中,以下错误消息以粉红色背景显示:

Library ‘Maven: org.scala-lang:scala-compiler-bundle:2.10.4’ is not used
这可能是个暗示吗

我使用的版本如下:

  • 操作系统:Windows7
  • IntelliJ IDEA:13.1.6
  • Scala插件:0.41.2
  • Spark源代码:1.1.1(我修改了一些文件)
我试图修复这个错误,错误状态有所改变,但最终我放弃了自己修复它(通过谷歌搜索),删除了.idea文件夹,重新开始。现在我看到了上面描述的错误

更新:

我注意到以下弹出窗口:

Maven projects need to be imported: Import Changes Enable Auto-Import
并根据文章和内容自动导入。现在IntelliJ解析基本Scala符号

但它仍然无法解析一些符号

值得注意的文件是thread/common/src/main/scala/org/apache/spark/deploy/thread/ClientBase.scala。在此文件中,未解析ClientArguments类。IntelliJ建议导入org.apache.spark.deploy.ClientBase,但实际上ClientArgument类与ClientBase在同一个包中,即org.apache.spark.deploy.warn.ClientArgument

为什么IntelliJ会混淆这一点


谢谢。

您需要将Scala编译器从IntelliJ更改为“sbt增量编译器”(请参见下面的屏幕截图)

您可以通过转到“首选项”->“scala”来访问此选项

注意:这仅支持特定版本的IntelliJ scala插件。有关详细信息,请参阅此链接。

似乎您的maven无法根据您的pom依赖项设置下载JAR

两个可能的因素:

  • 这可能是由于您的网络,因此您需要使用代理设置进行检查:(在IntelliJ中,按Ctrl+Shift+A,输入“代理”,以检查它的连接)

  • 这也可能是因为您的maven主页未在IntelliJ中设置。要设置它,需要(Ctrl+Shift+A)在IntelliJ中输入“maven设置”,将maven home设置为指向安装maven的位置


  • 谢谢。但问题仍然存在。我将
    文件->设置->Scala->增量编译更改为
    SBT增量编译器
    ,然后执行
    文件->无效缓存/重新启动…
    。IntelliJ IDEA重新启动并生成索引,但当索引生成完成时,红色标记为ap再次pear。你能试试看在“Maven项目”工具窗口的“配置文件”下,是否有任何重叠的配置文件处于活动状态吗?例如,如果“scala-2.10”和“scala-2.11”都被选中。@pzecevic谢谢。但是没有重叠的配置文件处于活动状态。活动的配置文件如下:hadoop-2.4、Maven-3、yarn。