ページの先頭行へ戻る
Interstage Application Server/Interstage Web Server Express メッセージ集
Interstage

105.3.2 java.lang.ClassNotFoundException

本項で説明している例外一覧

例外の説明


java.lang.ClassNotFoundException

意味

ClassNotFoundExceptionは、java.lang.ClassのforNameメソッドの呼出しなどでJava VMまたはクラスローダがクラス定義をロードしようとしたとき、クラス定義が見つからない場合にスローされるものです。

ユーザの対処

  • java.lang.NoClassDefFoundErrorの対処に従ってください。

  • また、IJServerの「クラスローダの分離」の設定によっては、モジュール間で参照ができない場合があります。“J2EE ユーザーズガイド(旧版互換)”の“J2EEアプリケーションの設計”の“クラスローダの分離”参照し、アプリケーションの構成あるいはクラスローダの分離に誤りがないか確認してください。

  • 別のIJServerに配備されているEJBアプリケーションを呼び出す場合、クライアント配布物をクラスパスに設定する必要があります。ただし、IJServerのタイプが“WebアプリケーションとEJBアプリケーションを同一JavaVMで運用”のIJServerに配備されているEJBアプリケーションを他のIJServerから呼び出すことはできません。

  • JDBCドライバの設定方法に誤りがある、または定義したJDBCデータソースと異なるJDBCドライバを設定している可能性があります。“J2EE ユーザーズガイド(旧版互換)”の“JNDI”-“JDBC(データベース)を参照する場合の環境設定”を参照して、JDBCドライバの設定が正しく行われているか確認してください。SQL Serverを使用している場合は、Microsoft JDBCドライバを使用してください。また、JDBCドライバのバージョンが正しいか確認してください。

  • アプリケーションでスレッドを生成した場合は、アプリケーションの終了処理完了時には、スレッドが終了しているようにしてください。アプリケーションの終了処理の例を以下に示します。

    • サーブレットのdestroyメソッド(initメソッドでスレッド生成した場合)

    • ServletContextListenerのcontextDestroyedメソッド(contextInitializedメソッドでスレッド生成した場合)

    • 停止時実行クラス(起動時実行クラスでスレッド生成した場合)

    終了処理後でもスレッドが動作している場合、停止済みのクラスローダを使用することにより、本メッセージが出力されることがあります。


java.lang.ClassNotFoundException: java.io.FileNotFoundException: %s

可変情報

%s = URL

ユーザの対処

以下についてそれぞれ確認してください。

  • 必要なjarファイルが正しくWebサーバに格納されていない可能性があります。“J2EE ユーザーズガイド(旧版互換)”の“開発手順(Portable-ORB)”を参照して、必要なjarファイルが正しくWebサーバに格納されているかを確認してください。

  • HTMLファイルに必要なjarファイルが記述されていない可能性があります。“J2EE ユーザーズガイド(旧版互換)”の“開発手順(Portable-ORB)”を参照して、必要なjarファイルがHTMLファイルに記述されているかを確認してください。