2

我正在使用ScalaIDE version 3.0.3-20140327-1716-Typesafe并且我想在我的项目中使用 Scala 2.9.x。

我已经配置了一个使用 Scala 2.9.3 的 SBT 项目并创建了一个 Eclipse 项目:

$ sbt eclipse

将其导入 Eclipse 后,我看到以下错误:

在构建路径中找到的 scala 库版本与 scala IDE 提供的版本不兼容:2.9.3。预计:2.10.4。请用 scala 容器或兼容的 scala 库 jar 替换 scala 库。

然后我添加scala-library 2.9.3到依赖项,我仍然得到同样的错误:

$ cat build.sbt
name := "sample-project"

scalaVersion :="2.9.3"

version :="1.0"

libraryDependencies += "org.scala-lang" % "scala-library" % "2.9.3"

如果我从 Eclipse ( ScalaIDE ) 中添加 Scala Nature ,那么我会得到一个不同的错误:

在构建路径中找到多个 scala 库 (/home/tuxdna/.ivy2/cache/org.scala-lang/scala-library/jars/scala-library-2.9.3.jar, /home/tuxdna/software/ scala-ide-3.0.3/configuration/org.eclipse.osgi/bundles/290/1/.cp/lib/scala-library.jar)。至少有一个版本不兼容。请更新项目构建路径,使其仅包含兼容的 scala 库。

我怎样才能避免这些错误?

编辑

4

2 回答 2

2

Scala IDE 绑定到特定的 Scala 版本。尤其是

3.0.3 版本是 3.0 版本的第二个维护版本。它适用于 Scala 2.10,在 Eclipse 3.8/4.2/4.3 (Juno & Kepler) 上。

对于 2.9,您必须安装 3.0.0,请参阅http://scala-ide.org/download/current.html

于 2014-04-11T17:23:09.493 回答
0

这是我为自己找到的解决方法:

我在项目中添加了 Scala 特性,该项目添加了 Scala 2.10.x 库。然而,它给出了第二个错误,即两个版本的 scala 库。

所以我从项目类路径中删除了 scala-library-2.9.x.jar,但我使用 Add Scala Nature 添加了 Scala 2.10.x。

这样我在 Eclipse 中看不到任何错误。但是,要运行完全依赖 Scala 2.9.x 的代码,我使用控制台

无论是 SBT:

$ sbt 'run-main com.package.MainClass arg1 arg2'

其中,如果项目是使用 Maven 配置的:

$ mvn exec:java -Dexec.mainClass=com.package.MainClass -Dexec.args="arg1 arg2"
于 2014-04-12T16:37:31.447 回答