我正在处理涉及扩展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时使用的版本不兼容。
有人可以告诉我这里出了什么问题吗?谢谢你的帮助!路加福音
答案 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