バイナリ非互換性
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
これも同じらしい。バイナリ非互換性のため