maven - 将 Spark 源代码导入 intellij,构建错误 : not found: type SparkFlumeProtocol and EventBatch

标签 maven intellij-idea build compiler-errors apache-spark

智能 : 14.1.4

Spark : 1.5 发布源代码

我正在将 Spark 源代码导入 IntelliJ,并按照 Spark website 上的步骤进行操作.

构建和编译项目时出现以下错误。我用谷歌搜索并尝试了 suggested here in spark user list 是什么在 Maven 工具栏中为“Spark Project External Flume Sink”“生成源和更新文件夹”,但仍然有相同的错误。

我很确定这是一个解决问题,因为所有其他类都已成功解决。也许我没有正确使用 IntelliJ?请问有什么建议吗?

Error:(45, 66) not found: type SparkFlumeProtocol
  val transactionTimeout: Int, val backOffInterval: Int) extends SparkFlumeProtocol with Logging {
                                                                 ^
Error:(70, 39) not found: type EventBatch
  override def getEventBatch(n: Int): EventBatch = {

最佳答案

我已经解决了这个问题,原来“Spark Project External Flume Sink”是排除 在默认设置下导入 Spark 源代码时。

我做了什么:

  • 文件 -> 项目结构 -> 模块 -> “spark-streaming-flume-sink_2.10” -> 来源
  • 在文件夹的树形显示中,最初是 “target”文件夹被排除,但“SparkFlumeProtocol”和“EventBatch”类被编译到这个文件夹 .
  • 将“target”文件夹设置为“Sources”,然后将“target”下的所有内容保留为“Excluded”,“scala-2.10”除外,请参见随附的屏幕截图。

  • 这样,编译类被包括在内,并且在重新构建项目后可以正确解析这些类。

    enter image description here

    --- 2016 年 6 月 8 日更新 --------

    或者更具体地说,这个模块的整个路径

    请注意型号和颜色,会影响包名
    package org.apache.spark.streaming.flume.sink;  
    

    enter image description here

    关于maven - 将 Spark 源代码导入 intellij,构建错误 : not found: type SparkFlumeProtocol and EventBatch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33311794/

    相关文章:

    java - Jenkins 似乎无法构建 java Artifact 。更多信息包含在 github gist [Pastebin] 中

    java - 如何查找特定 Java 版本的最新库版本

    android - Shortcut如何接受Android Studio的建议(附图)

    javascript - Bower 和 NPM 如何结合在一起?

    java - Gradle 排除 VS 包含

    java - 创建阴影 jar : null: IllegalArgumentException 时出错

    java - 使用不同的服务创建 OSGi bundle

    java - Intellij 从方法中按包查找用法

    android-studio - 在 Android Studio 上测试 RESTful Web 服务 (RESTClient)

    ruby - 我如何从另一个 rake 文件修改/扩展一个 rake 文件?