使用不兼容的版本交叉编译

Cross-compiled with an incompatible version

我正在使用带有 m2eclipse-scala 插件的 Eclipse。目前,我收到以下错误消息:

exampleA_2.10-2.0.1.jar of module build path is cross-compiled with an incompatible version of Scala (2.10.0). In case this report is mistaken, this check can be disabled in the compiler preference page

看起来提取的 Scala 和 Scala IDE 的版本匹配。我只是想确保这是此处描述的 "false-negative" 并且可以安全地关闭。

正如@The Archetypal Paul 所说,这是因为我使用了错误的 Scala 库。

如果您使用的是 Scala 2.11(请查看 About Scala IDE -> installation details),您可以按照说明 here 进行降级。它比其他 Whosebug 帖子推荐的卸载和重新安装 Scala IDE 容易得多。

我也遇到了同样的问题-> 我正在尝试在 scala 中使用 casbah jar 与 mongodb.

集成

分析问题后我发现-> 我正在尝试使用 casbah 2.9.1 版本,我的 scala 版本是 2.11.8

出现此类错误的根本原因是:您的 jar 是在 2.9.0 版本中编译的,而您使用的是 scala 2.11.8 版本

所以,为了解决我使用编译成 2.11 scala 版本的 jar-

<groupId>org.mongodb</groupId>
<artifactId>casbah-core_2.11</artifactId>
<version>3.1.1</version>

我在 Eclipse IDE 中遇到了类似的问题,我在 Eclipse 中用 Maven 构建了一个 Spark scala 项目。 Scala 版本设置为 2.11。 后来,我在Eclipse中升级了Scala-Ide插件,之后我的项目标记为以下错误,

exampleA_2.10-2.0.1.jar 模块构建路径与不兼容的 Scala (2.10.0) 版本交叉编译。如果此报告有误,可以在编译器首选项页面中禁用此检查

右击项目文件夹 > scala > 设置 scala 版本。这里我的 scala 版本显示为 2.10。我选择了 2.11 并删除了所有错误消息。