Locked History Actions

Diff for "scala/BinaryIncompatibility"

Differences between revisions 1 and 2
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:

=== NoSuchMethodException ===

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


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

 * 参考:[[http://d.hatena.ne.jp/yuroyoro/20110525/1306315628|Scala2.9から導入されたバイナリ互換性確保のためのbridgeアノテーションについて調べた]]

Line 4: Line 17:

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

バイナリ非互換性

NoSuchMethodException

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

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

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

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