Locked History Actions

scala/BinaryIncompatibility

バイナリ非互換性

NoSuchMethodException

例えば、MatchErrorが発生するはずなのに、なぜかNoSuchMethodExceptionが発生する場合がある。 これは、例えばScala2.8でコンパイルしたバイナリを2.9で動作させた場合などに発生する。 Scalaはバイナリ互換性が無く、メソッドのシグニチャが変わってしまうため、このエラーが発生するようだ。

Scala2.9からはバイナリ互換性確保のための方策が導入された模様。

class file needed by *** is missing. [error] reference type Serializable of package scala refers to nonexisting symbol

これも同じらしい。バイナリ非互換性のため