The Jakarta Project The Jakarta Tomcat Project

Tomcat 質問集

クラスが見つからない問題

はじめに
このページでは、クラスが見つからない、またはそれに類似するエラーを調べるためのさまざまな方法について議論したものを紹介します。 下記のトピックを読むことを強く勧めます。 NoClassDefFoundError例外が返されたら、その根本的な原因はClassNotFound例外が返されるケースと同じ理由かもしれません。
質問

回答
jsp:useBean が動作しない!
確認事項:
  • Beanがクラスファイルに含まれている。
  • クラス名をフルネームで指定している。(例:com.bar.package.MyClass) または
  • JSPにクラスをインポートしている。 (例: <%@ page import="com.bar.package.MyClass"%>)

どうして java.lang.NoClassDefFoundError: javax/servlet/Filter が返されるの?
おそらく、本来とは異なる場所に servlet.jar を配布しているのでしょう。 そうすると、Tomcatのクラスローダが期待した通りに正しく動かくなり、クラスローダが暴走してしまいます(画面上部のリンクを参照)。 servlet.jar を $CATALINA_HOME/common/lib に配置し、常に参照可能な状態にしてください。

どうして NoClassDefFoundError: org/xml/sax/InputSource が返されるの?
クラスパスに含まれているXML-API関連のJARファイル同士の競合が発生しているからです。 詳しいことは、READMEもしくはリリースノートを参照してください。


[ このページは 小川 環 によって翻訳されました。 日本語訳に関する質問については report@jajakarta.org までお願いします。 ]
Copyright © 1999-2003, Apache Software Foundation.