2012-02-07 4 views
1

このエラーは、単純なtomcat jspプロジェクトで発生しています。私がgoogleで読んだ記事は、自分のプロジェクトにservlet-api.jarを含めるべきであることを暗示しています。私はちょうどそれをしたが、それは動作していません。誰にもこれに関するアイデアはありますか?私は私のJREにsql-connectorを、ビルドパスにsql-connector.jarとcos.jarを持っています。javax.servlet.ServletException:java.lang.NoClassDefFoundError:javax/servlet/ServletInputStream

答えて

0

ServletInputStreamは、サーブレットAPIの一部です。使用しているサーブレットAPIのバージョンをサポートしているTomcatのバージョンを実行していて、Tomcatのインストールが破損していない場合は動作します。 servlet-api.jarは、TOMCAT/libに配置する必要があります。

+0

バージョン5の場合$ CATALINA_HOME/common/lib – tusar

+0

はい、そうです。私もtomcatを再インストールしましたが、それでも同じエラーが発生しました。 – user1195809

+0

あなたはどのバージョンを使用していますか? – Bozho

1

でない必要があります。プロジェクト内にサーブレット/ JSP API jarが含まれているか、展開されていません。そうすることで奇妙なことが起こります。既にTomcatが提供しているライブラリを削除してください。

+0

ライブラリを削除しましたが、引き続き同じエラーが発生しましたか? – user1195809

+0

@ user1195809質問を編集して、あなたのアプリと共に配備しているライブラリを含めてください。 TomcatやJavaのインストールを変更しましたか? –

+0

Tomcatではなく、私はsql-connectorをJREに追加しましたが、これはこれに影響しません。私はクラスパスにcos.jarとsql-connector.jarを持っています。 – user1195809

2

The articles I've read on google implies that I should include servlet-api.jar in my project. I did just that but it is not working

あなたははそれを行うべきではありません。これはより多くのトラブルのレシピです。関連項目How do I import the javax.servlet API in my Eclipse project?プロジェクトからこれらのファイルを削除します。戻ってあなたの最初の問題に来て

は、私はあなたがすでにあなたのプロジェクトでのサーブレットコンテナ固有のJARファイルを含めることによって、それを解決しようと前にこの問題に直面していたことを理解しています。

javax.servlet.ServletException: java.lang.NoClassDefFoundError: javax/servlet/ServletInputStream

クラスローダがあるクラスについて認識しない場合、あなたがそこに、クラスパスに間違った場所にjavax.servlet.ServletInputStreamクラスに応じて順番にあるJARファイルが含まれている場合は、エラーのこの種が発生しますサーブレットコンテナ自体によってロードされます。たとえば、Webアプリケーション自身の/WEB-INF/libフォルダの代わりに、Apache Commons FileUpload JARファイルをJRE独自のJRE/libまたはJRE/lib/extフォルダに格納した場合。 ではないは、アプリケーション固有のクラスをJREライブラリに配置する必要があります。これらのファイルをJREライブラリから削除します。これは、適切な-cp/-classpath引数なしでjavacを使用しているときに、コンパイルエラーが発生したときの一般的な初心者の間違いです。

+0

あなたが提供した記事の指示に従っていますが、それでも同じエラーが発生しています。私はクラスパスからservlet-api.jarも削除しました。 JREライブラリにもありません。 – user1195809

+0

この特別な問題は、JREライブラリでは 'servlet-api.jar'を持つのではなく、例えば' commons-fileupload 'のような*別の* JARファイルによって引き起こされることはありません。jar'または 'javax.servlet.ServletInputStream'に依存するものです。どのようにしても、JRE(またはTomcatの)ライブラリをインストールした後で、そのライブラリを変更していないことを絶対に確認する必要があります。不明な場合は、アンインストールして再インストールしてください。 – BalusC

+0

私は再インストールしても同じエラーが続く。 – user1195809