Scala ORM 产生不兼容的版本构建错误

Posted

技术标签:

【中文标题】Scala ORM 产生不兼容的版本构建错误【英文标题】:Scala ORM producing incompatible version build errors 【发布时间】:2016-05-17 12:45:43 【问题描述】:

我们有一个使用 Scala 2.11.5 的 Scala 应用程序。

<dependency>
  <groupId>org.scala-lang</groupId>
  <artifactId>scala-library</artifactId>
  <version>2.11.5</version>
</dependency>

当我们引入SORM时,使用如下maven依赖:

<dependency>
  <groupId>org.sorm-framework</groupId>
  <artifactId>sorm</artifactId>
  <version>0.3.18</version>
</dependency>

出现以下两个构建错误:

scala-parser-combinators_2.12.0-M4-1.0.4.jar of xxx build path is cross-compiled with an incompatible version of Scala (2.12.0). 

scala-xml_2.12.0-M4-1.0.5.jar of xxx build path is cross-compiled with an incompatible version of Scala (2.12.0).

我曾尝试使用旧版本的 SORM,但也会出现类似问题。例如,版本为0.3.8

slf4s_2.9.1-1.0.7.jar of xxx build path is cross-compiled with an incompatible version of Scala (2.9.1). 

在对象关系映射中使用Squeryl时也存在类似的问题:

<dependency>
  <groupId>org.squeryl</groupId>
  <artifactId>squeryl_2.9.3</artifactId>
  <version>0.9.5-7</version>
</dependency>

导致以下构建错误;

squeryl_2.9.3-0.9.5-7.jar of xxx build path is cross-compiled with an incompatible version of Scala (2.9.3).

有人有解决办法吗?

谢谢

【问题讨论】:

【参考方案1】:

您可以通过在 POM 中引用正确的 Scala 版本来解决您的 Squeryl 问题。

<dependency>
  <groupId>org.squeryl</groupId>
  <artifactId>squeryl_2.11</artifactId>
  <version>0.9.5-7</version>
</dependency>

【讨论】:

项目现在构建 - 谢谢。 Squeryl 与 Sorm 相比如何?

以上是关于Scala ORM 产生不兼容的版本构建错误的主要内容,如果未能解决你的问题,请参考以下文章

不兼容的 gradle 版本 - Android

Scala插件与Intellij 2018.3.3不兼容:无法在“新建项目”中选择Scala

Spark 2.2.0 的兼容 Scala 版本?

错误 MSB8052:MSVC 工具集版本“14.28.29333”与“v120”平台工具集不兼容

由于 NDK 版本不兼容,Android 构建在 CI 中失败,但在本地不兼容

MinGW 产生的 exe 在不同的系统上运行时会产生“与 Windows 版本不兼容”