ClassLoaderによってjava.lang.ClassNotFoundExceptionがスローされる
症状Sun JavaTM Runtime Environment (JRETM) 実装を使ってブラウザ内でアプレットを実行すると、
ClassLoaderによってjava.lang.ClassNotFoundExceptionがスローされます。同じアプレットが、Microsoft Virtual Machine (VM) の下では何のエラーもなく実行されます。原因
.cabファイルとしてパッケージされたアプレットが原因です。.cabファイルは Microsoft Windows 専用のアーカイブ形式であり、Sun JRE ではサポートしていません。解決方法
アプレットのクラスやリソースを
.cabファイルから抽出し、それらを Java Development Kit (JDK) に含まれるJava Archive File Format (JARTM)ツールを使って.jarファイルとして再パッケージ化します。次のコマンドを入力してファイルを .jar ファイルとして再パッケージ化します。
jar cvf <jar_file> <input_files>
HTML ページ内の
<APPLET>タグを変更し、archive属性に.jarファイルを指定します。たとえば、次のコードがあるとします。
<APPLET code="MyApplet" width=100 height=100>
<PARAM name="cabbase" value="package1.cab, package2.cab">
</APPLET>上記のコードを次の例に示すように変更できます。
<
APPLET code="MyApplet" archive="package1.jar, package2.jar" width=100 height=100>
</APPLET>詳細情報
詳細については、JAR ツールのドキュメントを参照してください。