0

次のエラーが表示されます。

Exception in thread "http-server" java.lang.NoClassDefFoundError: org/w3c/jigmonitor/ReplyServer

しかし、私はその理由を理解していません。誰かがなぜこれが起こるのか説明できますか?

これは問題を引き起こすクラスです:

public class ReplyServer implements Serializable
{
    public ReplyServer()
    {
        super();
    }
}
4

1 に答える 1

1

定義しているクラスが、ロードしようとしているものによって検出されていないようです。私の経験では、これは次の3つの問題のいずれかが原因で発生します。

  1. クラスのパッケージ宣言が正しくありません。この場合、http-severスレッドの何かが、クラスがパッケージorg.w3c.jigmonitorで宣言されていることを期待しています。
  2. ソースファイルが正しいディレクトリにありません。この場合、ソースファイルは「org / w3c / jigmonitor /」のようなディレクトリ構造に配置する必要があります。これは、実際に必要なパッケージである場合に限ります。
  3. ReplyServerのコンパイル済みクラスのパスは、JVMのクラスパスにありません。これを確認するには、JVMの起動に使用されるクラスパスを調べ、クラスが実際に存在するかどうかを確認します。ほとんどの一般的な設定では、サーブレットの設定で「WEB-INF/classes」フォルダを探し回ることができます。

幸運を!

(Davidが投稿したリンクには、この種の問題と考えられる原因に関する大量の情報が記載されています。後で使用するために、それを隠しておくことをお勧めします)

于 2012-07-08T22:39:09.643 に答える