【问题标题】:IntelliJ: scalac bad symbolic referenceIntelliJ:scalac 错误的符号引用
【发布时间】:2015-12-12 14:24:43
【问题描述】:

在我的 build.sbt 文件中,我的项目中有这个。

scalaVersion := "2.10.4"

libraryDependencies += "org.apache.spark" %% "spark-core" % "1.3.1"
libraryDependencies += "org.apache.spark" % "spark-hive_2.10" % "1.3.1"
libraryDependencies += "org.apache.spark" % "spark-graphx_2.10" % "1.3.1"   
libraryDependencies += "org.apache.spark" % "spark-mllib_2.10" % "1.3.1"

我只是让它自动下载所有库。我正在将 graphx、spark-core 和 scala sdk 添加到我的一个项目模块中,但是当我尝试编译时,我得到了:

错误:scalac:错误的符号引用。 RDD.class 中的签名是指术语 hadoop 在包 org.apache 中不可用。 当前的类路径或版本中可能完全缺少它 类路径可能与编译 RDD.class 时使用的版本不兼容。

错误:scalac:错误的符号引用。 RDD.class 中的签名是指术语 io 在值 org.apache.hadoop 中不可用。 当前的类路径或版本中可能完全缺少它 类路径可能与编译 RDD.class 时使用的版本不兼容。

错误:scalac:错误的符号引用。 RDD.class 中的签名是指术语压缩 在不可用的值 org.apache.io 中。 当前的类路径或版本中可能完全缺少它 类路径可能与编译 RDD.class 时使用的版本不兼容。

奇怪的是,如果我直接从 maven 存储库下载 graphx/mllib,它似乎可以编译。有什么想法吗?

【问题讨论】:

    标签: scala maven intellij-idea apache-spark sbt


    【解决方案1】:

    另一个可能的错误来源是项目中不正确的 scalac 版本设置。右键单击项目 -> 打开模块设置 -> 全局库,更改/添加适合您项目的 scala-sdk 版本

    【讨论】:

      【解决方案2】:

      请添加 hadoop 依赖。类似的东西

      libraryDependencies += "org.apache.hadoop" %% "hadoop-common" % "2.7.1"
      libraryDependencies += "org.apache.hadoop" %% "hadoop-hdfs" % "2.7.1"
      

      您可能需要根据您的应用添加其他 hadoop 模块。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-11-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-11-21
        • 2013-10-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多