2014-08-30 102 views
1

我试图用sbt编译一个scala项目。我下载了Scala二进制文件(2.11.2)。该项目可以在github上克隆。试图用sbt构建一个scala项目。未解决的依赖与scala-swing

git clone git://github.com/scalation/scalation.git scalation 

我将整个scala二进制文件移动到项目根目录并修改了Build.sbt,这是我的更改。

name := "scalation" 

scalaVersion := "2.11.2" 

scalaHome := Some(file("scala-2.11.2")) 

libraryDependencies += "org.scala-lang" % "scala-swing" % "2.11-1.0.1" 

我可以看到该项目正在编译正确的二进制文件,但一段时间后,它给了我下面的错误:

module not found: org.scala-lang.modules#scala-swing;2.11-1.0.1 

和Scala摆动的版本

~/scalation$ ls scala-2.11.2/lib/ 
scala-swing_2.11-1.0.1.jar 

我认为我的库依赖项存在问题。

让我解释为什么我在build.sbt中进行了修改。 当我第一次克隆了一个项目,我也跟着指示做./sbt compile 它给了我

/home/pierre/scalation/src/scalation/process/Model.scala:11: not found: object actors 
[error] import actors.Actor 

然后,我意识到它无法找到我的斯卡拉。所以我添加了这一行,并将我的Scala二进制文件拖到了这个项目中,因为它更方便。

scalaHome := Some(file("scala-2.11.2")) 

当我做./sbt重新编译,它通过以前的错误,但给了我另外一个

[error] (*:update) sbt.ResolveException: unresolved dependency: org.scala-lang#scala-swing;2.11.2: not found 
[error] Total time: 3 s, completed Aug 30, 2014 6:04:36 PM 

[更新答:安装指南] 如果有人碰巧有兴趣在这个项目中,正确的安装在这里: http://cobweb.cs.uga.edu/~jam/scalation_1.0/INSTALL_SBT.html

github上的一个坏了。

回答

1

不知道你正在尝试做这些修改,我从来没有想过你需要将整个scala二进制文件和sbt二进制文件复制到你的项目中......但是你至少要检查该版本的scala-swing确实存在?

如果它实际上是

libraryDependencies += "org.scala-lang.modules" % "scala-swing_2.11" % "1.0.1" 

甚至

libraryDependencies += "org.scala-lang.modules" %% "scala-swing" % "1.0.1" 

+0

刚才我试了你的答案。它通过了最后一个错误,并给了我另一个错误,但是你解决了我的问题,但我仍然无法成功构建项目。 错误:(编译:编译)错误编译sbt组件'compiler-interface' – Pierrew 2014-08-31 01:15:02

+0

什么样的错误?我担心你的评论不太清楚。 – 2014-09-20 20:31:48

+0

请注意,从2.10到2.11是Scala中的一个主要版本更改,某些软件包可能已从核心scala库中移出,并且您可能会遇到问题。 – 2014-09-20 20:33:32