使用不兼容的Scala版本(2.10.0)交叉编译spark构建路径

时间:2015-12-29 09:16:11

标签: scala-ide

当我尝试在scala IDE中执行sparksql代码时,我得到以下错误,有人可以帮我解决这个问题吗?

MP4Box -brand mp42 file.mp4

4 个答案:

答案 0 :(得分:32)

在您的项目中,您使用的是使用不同Scala版本构建的jar;确实来自日志:

  • Scala IDE使用Scala 2.11.7
  • 使用Scala 2.10构建的Apache Spark 1.5.2

您需要对齐jar版本。实际上Spark 1.5.2预构建(可从here下载)由于兼容性原因而使用Scala 2.10构建(参见here)。在网站上有一个注释:

  

注意:Scala 2.11用户应下载Spark源包并使用Scala 2.11支持构建。

为了解决这个问题,在您的项目中使用与构建Spark相同的Scala版本。

我建议您尝试在Scala IDE中切换到Scala 2.10,它将解决问题。

Eclipse + Maven

就我而言,我使用Eclipse和Scala IDE以及Maven,所以我以这种方式更新了Maven依赖项:

<dependency>
    <groupId>org.scala-lang</groupId>
    <artifactId>scala-library</artifactId>
    <version>2.10.6</version>
</dependency>
<dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-core_2.10</artifactId>
    <version>1.5.2</version>
</dependency>

然后,我在IDE中更改了Scala版本:右键单击项目 - &gt; Scala - &gt;设置Scala安装右键单击Scala库容器 - &gt;属性并选择Scala 2.10,如下所示

Change Scala version in Eclipse IDE

答案 1 :(得分:9)

点击项目右侧,然后选择属性。 选择 Scala编译器 点击“使用项目设置” 选择 Scala安装选择您的scala版本,例如,2.11.11。

答案 2 :(得分:3)

我有同样的问题。我是怎么解决的 Scala嵌入式Eclipse - &gt;项目 - &gt;右键单击 - &gt;项目 - &gt; Scala编译器 - &gt;右侧您将获得Scala安装列表 - &gt;这里选择最新的2.10捆绑(动态)。

我已经测试过,它对我来说很好。

  • Binod Suman

答案 3 :(得分:1)

&#34; -Xsource:2.11 -Ymacro-expand:none&#34;解决了我的问题,刚刚在右键单击项目中更新 - &gt;属性 - &gt;用于修复此&#34;构建路径的Scala编译器,附加命令行参数是使用不兼容的Scala版本(2.11.0)进行交叉编译的。如果此报告出错,可以在编译器首选项页面中禁用此检查。&#34;