我最近降级到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)
答案 0 :(得分:1)
从Scala编译的Java字节码不向后兼容。在Scala 2.10发布之前升级到任何新的Scala版本时,必须重新编译所有scala文件及其依赖项。
BTW:Scala 2.10承诺将来在所有2.10.x版本之间保持向后兼容。