在Scala 2.8中初始化actor时的NoSuchMethodError

时间:2012-02-16 11:31:50

标签: eclipse scala scala-2.8 actor

我最近降级到Scala 2.8,现在每当我尝试初始化一个actor时,我都会收到以下错误消息:

java.lang.NoSuchMethodError: scala.actors.ReactorCanReply$class.$init$(Lscala/actors/ReactorCanReply;)V

显然this guy遇到了同样的问题,但没有找到解决方案。还有其他人遇到过这个并解决了吗?

我认为可能在Scala 2.8和2.9文件之间存在一些声音,所以我尝试卸载并重新安装Scala和Eclipse,删除所有二进制文件并重建,甚至创建一个新的Eclipse项目并复制我的源文件,但问题仍然存在。

我的堆栈跟踪:

Exception in thread "main" java.lang.NoSuchMethodError: scala.actors.ReactorCanReply$class.$init$(Lscala/actors/ReactorCanReply;)V
at uk.mike.blackjack.PlayerReceiver.<init>(PlayerReceiver.scala:11)
at uk.mike.blackjack.Blackjack$.main(Blackjack.scala:141)
at uk.mike.blackjack.Blackjack.main(Blackjack.scala)

1 个答案:

答案 0 :(得分:1)

从Scala编译的Java字节码不向后兼容。在Scala 2.10发布之前升级到任何新的Scala版本时,必须重新编译所有scala文件及其依赖项。

BTW:Scala 2.10承诺将来在所有2.10.x版本之间保持向后兼容。