在2.7.7下编译AKKA代码时出错

时间:2011-07-09 06:44:37

标签: scala sbt akka

我是斯卡拉的新人。所以我下载源代码AKKA并安装eclipse插件(2.7.7 final)。当我打开项目时,它显示29个编译错误。我知道它可能是版本不匹配或插件设置问题。但我不知道如何解决问题。

a)')'预计但'='找到。

case class HotSwap(code: ActorRef ⇒ Actor.Receive, discardOld: Boolean = true)

b)预期的标识符,但找到“对象”。

package object actor

任何人都可以帮助这个简单的问题吗?

非常感谢:)

更新

jilen 会问一个类似的问题。

How to add sbteclipse plugin to SBT 0.10.x

2 个答案:

答案 0 :(得分:3)

Scala 2.7中不存在默认参数。

你可以假装它们(有时是理智的):

// Note no "= true" which specified the default value
case class HotSwap(code: Any, discardOld: Boolean)
object HotSwap {
  def apply(code: Any): HotSwap = HotSwap(code, true)
}    
>> defined class HotSwap
>> defined module HotSwap    
HotSwap("x")    
>> res1: HotSwap = HotSwap(x,true)    
HotSwap("x",false)    
>> res2: HotSwap = HotSwap(x,false)

第二组错误是因为在Scala 2.8中也引入了Package Objects。不过,我从未处理过这些问题。 “修复”这可能需要在更新引用方面做更多的工作,但请参阅之前的内容。

快乐的编码。

答案 1 :(得分:2)

最新的akka​​版本仅使用scala 2.9构建。你有可能使用这个版本吗?它会为你省去很多麻烦。