Solaris Java Plug-in ユーザーズガイド

以前のクラスファイルの更新

この Java Plug-in リリースに関連した新規 Java Runtime Environment が、以前のコンパイラで生成されたクラスファイルを実行できないことがあります。この場合、この種のクラスファイルをロードしようとすると、仮想マシンが java.lang.ClassFormatError をスローするという現象がよく見られます。この障害は、このリリースの変更とは特に関係がありません。 原因は、以前のバイトコードコンパイラがクラスファイルを生成する際、ある状況下で適切なクラスファイル形式に厳密には準拠しないことです。最近の仮想マシン実装では、適切なクラスファイル形式が厳密に適用されるため、不適切な形式の以前のクラスファイルをロードしようとすると、エラーが発生することがあります。以前のクラスファイルでよく発生する問題の一部を、次に示します (この一覧にすべてが網羅されているわけではありません)。

この種の問題は、最新の Java 2 SDK に付属の Javac バイトコードコンパイラでクラスを再コンパイルすることで回避できます。サードパーティ製のオブファスケータを使用する場合は、適切なクラスファイル形式のクラスファイルを生成するものを使用してください。