建造和包括火花时的不良符号参考

时间:2014-12-06 18:15:27

标签: java scala maven apache-spark

我正在处理涉及扩展Spark项目的事情。我正在使用Spark的make-distribution.sh,并成功地从github上的代码构建jar。但是,当我将jar包含为依赖项并在IntelliJ中编译它时:

package org.apache.spark
object Main extends App{
    println(org.apache.spark.util.Utils.random.nextInt())
}

我收到编译错误:

  

错误:scalac:错误的符号引用。 Utils.class中的签名是指com.google.common包中的term util,它不可用。   它可能在当前类路径中完全丢失,或者类路径上的版本可能与编译Utils.class时使用的版本不兼容。

有人可以告诉我这里出了什么问题吗?谢谢你的帮助!路加福音

2 个答案:

答案 0 :(得分:0)

错误消息显示您的scalac无法找到com.google.common package.util:

Utils.class取决于" util"在一个包" com.google.common"。

com.google.common不适用于您的scalac。

当前类路径中可能完全缺少包。

或类路径上的版本可能与编译Utils.class时使用的版本不兼容。

检查如何解决sparc项目的依赖关系。

答案 1 :(得分:0)

不确定它现在是否有用(因为它的旧帖子),但是,此问题已在最新版本的Spark中修复 - https://issues.apache.org/jira/browse/SPARK-5466