Locked History Actions

Diff for "scala/BinaryIncompatibility"

Differences between revisions 2 and 3
Deletions are marked like this. Additions are marked like this.
Line 16: Line 16:
=== class file needed by Message is missing. [error] reference type Serializable of package scala refers to nonexisting symbol === === class file needed by *** is missing. [error] reference type Serializable of package scala refers to nonexisting symbol ===

バイナリ非互換性

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

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