我正在使用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库。
如何避免这些错误?
修改:
答案 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"