ScalaIDE 3.0.3在scala 2.9.x中出错

时间:2014-04-11 16:33:08

标签: eclipse scala scala-ide scala-2.9

我正在使用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库。

如何避免这些错误?

修改

2 个答案:

答案 0 :(得分:2)

Scala IDE与特定的Scala版本绑定。特别是

  

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

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

答案 1 :(得分: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"