Interstage Application Server メッセージ集
目次 前ページ次ページ

第4部 ログファイルに出力されるメッセージ> 第43章 J2EE使用時に出力される例外情報> 43.2 java.langで始まる例外情報

43.2.7 java.lang.NoClassDefFoundError

java.lang.NoClassDefFoundError

[意味]
 NoClassDefFoundErrorは、通常のメソッド呼出し、あるいはnew式を使った新しいインスタンスの生成でJava VMまたはクラスローダがクラス定義をロードしようとしたとき、クラス定義が見つからない場合にスローされるものです。
 現在実行中のクラスをコンパイルする時点では存在していましたが、その後見つからなくなっている場合などがあります。

  1. ワークユニット環境設定のクラスパスに設定した環境変数に誤りがあります。
  2. アプリケーション・コンパイル時のJDKの環境と、アプリケーション実行時のJDKの環境が異なります。
  3. クラスまたはメソッド名の指定で大文字・小文字が異なります。
  4. 別のIJServerに配備されたEJBアプリケーションをlookupする場合に、クライアント配布物にクラスパスが設定されていません。
  5. クラスパス上のクラスから、Webアプリケーション内部のクラスを参照しようしています。

[ユーザの対処]

  1. ワークユニット環境設定のクラスパス定義について見直してください。
    IJServer動作時に設定されるクラスパスは、コンテナ情報ログ(info.log)に出力されます。コンテナ情報ログでクラスパスの設定を確認してください。
  2. アプリケーションをコンパイルしたJDKのバージョンとアプリケーションが動作するJDKのバージョンを同じにしてください。または、アプリケーションが動作するJDKの環境に合わせてアプリケーションを再コンパイルしてください。
  3. アプリケーションの呼出し部分を正しいクラス/メソッド名に修正してください。
  4. クライアント配布物にクラスパスを設定してください。
  5. 以下のいずれかの対処を行ってください。

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

java.lang.NoClassDefFoundError: "%s"
または
java.lang.NoClassDefFoundError: NullPointerException

[可変情報]
 %s = アプリケーションが利用しているクラス名

[意味]
 アプリケーションの動作環境の設定に誤りがあります。

[ユーザの対処]

 J2EEアプリケーションクライアントの場合は、以下も確認してください。

java.lang.NoClassDefFoundError: javax/ejb/EJBObjectまたは
java.lang.NoClassDefFoundError: javax/naming/NamingException

[ユーザの対処]
 Interstageがインストールされているサーバマシン上でクライアントアプリケーションを動作させている場合、Interstage Application Server、またはJava実行環境(Linuxの場合)でインストールしたjavaコマンドを使用しているか確認してください。
 また、クライアントの環境が正しく設定されているか確認してください。クライアントの環境設定についての詳細は、“J2EEユーザーズガイド”の“JNDI"-“各種オブジェクトを参照する場合の環境設定”-“EJBを参照する場合の環境設定”を参照してください。

java.lang.NoClassDefFoundError: javax/naming/InitialContext

[ユーザの対処]
 EJBサービスのクライアントがインストールされ、正しく設定されていることを確認してください。

java.lang.NoClassDefFoundError: “クライアントが利用しているクラス名”または
NullPointerException
(注1)

[ユーザの対処]
 以下についてそれぞれ確認してください。

 また、EJBアプリケーションでJavaアプレットの異常が発生し、Javaコンソールに上記の例外が出力した場合は、以下について確認してください。

 注1)
 当現象は以下の場合に発生することがあります。

java.lang.NoClassDefFoundError: org/omg/CORBA/ORB

[意味]
 CORBAサービス、またはCORBAサービスクライアントがインストールされていない、または正しく設定されていません。

[ユーザの対処]
 CORBAサービス、またはCORBAサービスクライアントがインストールされ、正しく設定されていることを確認してください。

java.lang.NoClassDefFoundError: com/fujitsu/interstage/jms

[意味]
 JMSの動作環境の設定に誤りがあります。

[ユーザの対処]
 必要な製品が正しくインストールされ、環境変数CLASSPATHが正しく設定されていることを確認してください。環境変数については、“J2EEユーザーズガイド”の“JMSアプリケーション運用マシンの環境設定”を参照してください。


目次 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2005