我尝试使用sclick和squeryl框架来使用scala进行数据持久化。我不想使用Play框架,只是使用持久性框架,但是当我导入光滑(或squeryl)jar文件时,我遇到了以下问题:
slick_2.10.1-2.0.0-M1.jar of <project_name> build path is cross-compiled with an incompatible version of Scala (2.10.1). In case this report is mistaken, this check can be disabled in the compiler preference page.
我在Eclipse上的scala插件下使用了scala jar(2.11.6),我可以运行简单的scala应用程序。我也可以使用jdbc访问mysql dbms。导入光滑(或squeryl)jar文件时出现此问题。是因为框架不支持scala 2.11吗?是降级scala版本的解决方案吗?如果是这样,任何人都可以指点我如何降级Eclipse scala插件下的scala版本。非常感谢你
答案 0 :(得分:1)
如果您使用scala 2.11,则需要将此依赖项用于光滑:
<dependency>
<groupId>com.typesafe.slick</groupId>
<artifactId>slick_2.11</artifactId>
<version>3.0.0</version>
</dependency>
答案 1 :(得分:1)
上一个答案应该通过光滑解决您的问题。如果你想使用Squeryl,依赖应该是
<dependency>
<groupId>org.squeryl</groupId>
<artifactId>squeryl_2.11</artifactId>
<version>0.9.6-RC3</version>
</dependency>
或者,如果你想使用0.9.5
<dependency>
<groupId>org.squeryl</groupId>
<artifactId>squeryl_2.11</artifactId>
<version>0.9.5-7</version>
</dependency>
Scala中的库只与它们编译的Scala的次要版本二进制兼容。您将在这些示例中看到正确的scala版本附加到带有下划线的工件ID。
如果你有能力使用SBT而不是Maven,我会推荐它。当您引用依赖项时,SBT可以为您选择适当的版本
libraryDependencies += "org.squeryl" % "squeryl_2.11" % "0.9.6-RC3"