スーパークラスの "javax.servlet.http.HttpServlet" が Java Build Path で見つかりませんでした。

EclipseでMaven統合により作成したプロジェクトがあります。すべて順調ですが、すべてのJSPファイルの作業スペースには、このようなものがあります。

The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path

場所の最初の文字列に。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

基本的なダイナミックウェブプロジェクトを作成し、JSPを入れたところ、エラーもなくすべてうまくいきます。

質問へのコメント (7)

最初に実行時間を追加し、プロジェクトのプロパティを選択します。 次に、画像に示すように、[ランタイム]タブからサーバー名を確認します。

画像に示すように、プロジェクトファセットからランタイムを選択。!

解説 (8)

依存関係にservlet-api-3.1.jarを含めてください。

  • Maven.

      依存関係>
          javax.servlet
          javax.servlet-api
          3.1.0
          スコープ>提供
  • Gradle (英語)

      構成 {
          を提供します。
      }
      sourceSets {
          main { compileClasspath += configurations.provided }.
      }
      依存関係 {
          provided 'javax.servlet:javax.servlet-api:3.1.0'
      }
解説 (12)

Project → PropertiesTarget RuntimesApache Tomcat でうまくいきました。Facetsの下にTarget Runtimesがありません(Eclipse v4.2 (Juno)を使用しています)。

解説 (0)

Antプロジェクトの場合:

libフォルダーにサーブレットapi.jarがあることを確認してください。

Mavenプロジェクトの場合:

POM.xmlに依存関係が追加されていることを確認してください。


  javax.servlet
  javax.servlet-api
  3.1.0
  provided

別の方法は:プロジェクトファセットを更新して、適切なサーバーを取得することです。

この場所でこのボックスをチェックしてください:

プロジェクト→プロパティターゲットランタイム→Apache Tomcat(任意のサーバー)。

解説 (1)

プロジェクト→プロパティターゲットランタイム→*アパッチトムキャットが私のために働いた。 ファセットの下にはターゲットランタイムはありません(Eclipse& nbsp; v4.4(Luna)にいます)。

解説 (0)

サーバーのランタイムにTomcatサーバーを追加すると、次の作業が行われます。

プロジェクトのプロパティターゲットランタイム→リストからサーバーを選択します "JBossランタイム"→ Finish< / kbd>。

Apacheの場合は、Apacheランタイムを選択できます。

ここに画像の説明を入力してください。!

解説 (0)

これらの手順は、本当に役立ちます。

1。 サーバーをインストールしなかった場合は、次の手順を実行する必要があります。

メニュー*ウィンドウ*→*設定*→*サーバーの期限切れ*→*ランタイム環境*→*追加*→名前を選択し、PCに既にインストールされているApacheサーバーパスを選択します(ダウンロードとインストールも押すことができます) → Finish< / kbd>→< kbd

Ref#[詳細については、ここをクリックしてください][1]。

2。 Tomcatサーバーを追加します。

*プロジェクトのプロパティ*→* Javaビルドパス*→*ライブラリを追加*→リストから[サーバーランタイム]を選択*→*次へ*→[Apache Tomcat]を選択→ Finish< / kbd>。

Ref#[この答え][2]。

[1]:http://help.eclipse.org/juno/index.jsp?topic =%2Forg.eclipse.jst.server.ui.doc.user%2Ftopics%2Ftwtomprf.html。 [2]:https://stackoverflow.com/questions/26936848/the-superclass-javax-servlet-http-httpservlet-was-not-found-on-the-java-build?andwertab = active#tab-top。

解説 (0)

これらの依存関係を pom.xmlファイルに追加するだけです。


    javax.servlet
    javax.servlet-api
    3.0.1
    provided



    javax.servlet.jsp
    javax.servlet.jsp-api
    2.2.1
    provided
解説 (2)

サーバーのランタイムにTomcatサーバーを追加すると、次の作業が行われます。

プロジェクトのプロパティ→ Javaビルドパスライブラリを追加リストから[サーバーランタイム] を選択→次へ→[Apache Tomcat]→[完了]を選択します。

解説 (0)

プロジェクトを選択 → プロパティプロジェクト・ファセットターゲット・ランタイムVMware Server

私の場合はうまくいきました。

解説 (0)

Mavenを使用していない場合は、javax.servlet-api.jarをプロジェクトlibフォルダーにドロップしてください。

解説 (0)

これは答えられていないので、Mavenの依存関係以外の何かがopsビルドに間違っていると思います。

Mavenを使用していない間、svnから開発環境を再作成するときも同じ問題が発生し、その理由を常に忘れて、それを理解する必要があります。 残念ながら、これはEclipseの問題のようです。

動的なWebプロジェクトの1つだけを選択するか、依存するプロジェクトをtomcatするだけで、一度作業したプロジェクトからそのようなエラーをすべて削除し、依存関係をビルド順に移動できます。 これにより、すべてのプロジェクトが適切に再構築され、すべてのエラーが解決されるようです。

Webプロジェクトを右クリックして、[パスを構築]を選択します-> 「ビルドパスを構成する」。 [注文してエクスポート]タブに移動し、ライブラリまたはjarエントリを選択して、上下に移動します。 JREシステムライブラリを使用して、上に移動しました。

[OK]をクリックすると、赤がすべて消えます。!

解説 (0)

そして、何らかの理由で何も機能しない場合は、コマンドラインからビルドします。

ant -Dj2ee.server.home=D:\apache-tomcat-8.0.23 clean

ant -Dj2ee.server.home=D:\apache-tomcat-8.0.23 compile

ant -Dj2ee.server.home=D:\apache-tomcat-8.0.23 dist
解説 (0)

JBossの場合。..プロジェクトを右クリック→ Javaパスを構築→外部JARファイルを追加します。

次に、jboss-folder→ Common lib →servlet-api.jarを参照します。

. . OK< / kbd>をクリックし、プロジェクトを更新して実行します。..

解説 (1)