注: この Java 配備ガイドでは、Java SE 6 update 10 リリースより前にリリースされた機能について説明します。最新情報については、Java Rich Internet Application の開発および配備を参照してください。

java.lang.ClassNotFoundException がスローされるスロー元: ClassLoader

症状

Sun Java™ Runtime Environment (JRE™) 実装を使ってブラウザ内でアプレットを実行すると、ClassLoader によって java.lang.ClassNotFoundException がスローされます。同じアプレットが、Microsoft Virtual Machine (VM) の下では何のエラーもなく実行されます。

原因

.cab ファイルとしてパッケージされたアプレットが原因です。.cab ファイルは Microsoft Windows 専用のアーカイブ形式であり、Sun JRE ではサポートしていません。

解決方法

アプレットのクラスやリソースを .cab ファイルから抽出し、それらを Java Development Kit (JDK) に含まれる Java Archive File Format (JAR™) ツールを使って .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 ツールのドキュメントを参照してください。


Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.