it-swarm.com.de

Die Superklasse "javax.servlet.http.HttpServlet" wurde im Erstellungspfad Java nicht gefunden

Ich habe ein Projekt von Maven Integration in Eclipse erstellt. Alle funktionieren einwandfrei, aber im Arbeitsbereich in allen JSP-Dateien haben diese:

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

Zum ersten String wo platzieren:

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

Wenn ich ein grundlegendes dynamisches Webprojekt und JSP erstelle, ist alles in Ordnung, keine Fehler.

401
disable1992

Fügen Sie zuerst eine Laufzeit hinzu und wählen Sie Projekteigenschaften aus. Überprüfen Sie dann den Servernamen auf der Registerkarte "Runtimes" (Laufzeiten), wie in der Abbildung dargestellt.

Select runtime from Project Facets as shown the in image

615
Ajil Mohan

Fügen Sie servlet-api-3.1.jar in Ihre Abhängigkeiten ein.

  • Maven

    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.1.0</version>
        <scope>provided</scope>
    </dependency>
    
  • Gradle

    configurations {
        provided
    }
    sourceSets {
        main { compileClasspath += configurations.provided }
    }
    dependencies {
        provided 'javax.servlet:javax.servlet-api:3.1.0'
    }
    
237
user1907906

Projekt → Eigenschaften Solllaufzeiten Apache Tomcat hat für mich gearbeitet. Unter Facetten befinden sich keine Ziellaufzeiten (Ich bin in Eclipse v4.2 (Juno)).

103
DMF

Für ein Ameisenprojekt:

Stellen Sie sicher, dass sich servlet-api.jar im Ordner lib befindet.

Für ein Maven-Projekt:

Stellen Sie sicher, dass Sie die Abhängigkeit in POM.xml hinzugefügt haben.

<dependency>
  <groupId>javax.servlet</groupId>
  <artifactId>javax.servlet-api</artifactId>
  <version>3.1.0</version>
  <scope>provided</scope>
</dependency>

Eine andere Möglichkeit besteht darin: Aktualisieren Sie die Projektfacetten, um den richtigen Server auszuwählen.

Aktivieren Sie dieses Kontrollkästchen an dieser Stelle:

Projekt → Eigenschaften Ziellaufzeiten → Apache Tomcat (jeder Server)

46

Projekt → Eigenschaften Solllaufzeiten → * Apache Tomcat hat für mich funktioniert. Unter Facets gibt es keine Ziellaufzeiten (I'm on Eclipse v4.4 (Luna)).

29
Burak Durmuş

Das Hinzufügen des Tomcat-Servers zur Server-Laufzeit erledigt die Aufgabe:

Projekteigenschaften Ziellaufzeiten → Wählen Sie Ihren Server aus der Liste aus. " JBoss Runtime "→ Finish

Im Falle von Apache können Sie Apache Runtime auswählen.

Enter image description here

20
Varun

Diese Schritte können Ihnen wirklich helfen:

  1. Wenn Sie keinen Server installiert haben, müssen Sie die folgenden Schritte ausführen:

    Menü Fenster Einstellungen Server ausgeben Laufzeitumgebung Hinzufügen → Wählen Sie einen Namen und dann den Apache-Serverpfad, den Sie bereits auf Ihrem PC installiert haben (Sie können auch auf Download und Installation klicken) → Finish → OK

Ref # für mehr Informationen hier klicken

  1. Fügen Sie den Tomcat-Server hinzu:

    Projekteigenschaften Java-Erstellungspfad Bibliothek hinzufügen → Wählen Sie "Server Runtime" aus der Liste * → Weiter → Wählen Sie "Apache Tomcat" → Finish

Ref # Diese Antwort

17
Chris Sim

Fügen Sie einfach diese Abhängigkeiten zu Ihrer pom.xml -Datei hinzu:

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.0.1</version>
    <scope>provided</scope>
</dependency>

<dependency>
    <groupId>javax.servlet.jsp</groupId>
    <artifactId>javax.servlet.jsp-api</artifactId>
    <version>2.2.1</version>
    <scope>provided</scope>
</dependency>
14
A. El Idrissi

Das Hinzufügen des Tomcat-Servers zur Server-Laufzeit erledigt die Aufgabe:

Projekteigenschaften → Java Build PathAdd LibrarySelect "Server Runtime" aus der Liste → Next → Select "Apache Tomcat" → Fertig stellen.

7
adarsh hegde

Projekt auswählen → EigenschaftenProjektfacettenZiellaufzeitenVMware Server.

Es hat bei mir funktioniert.

5
Anant Pathak

Wenn Sie Maven nicht verwenden, legen Sie einfach die Datei javax.servlet-api.jar in Ihrem Projektordner lib ab.

2
Mahder

Da dies nicht beantwortet wird, schätze ich, dass etwas anderes als Maven-Abhängigkeiten mit dem Ops-Build nicht in Ordnung sind.

Obwohl ich Maven nicht benutze, habe ich von Zeit zu Zeit das gleiche Problem, wenn ich meine Entwicklungsumgebung von svn aus neu erstelle, und ich vergesse immer, warum und muss es herausfinden. Leider scheint dies ein Problem mit Eclipse zu sein.

Ich bin in der Lage, alle derartigen Fehler aus einmal funktionierenden Projekten zu entfernen, indem ich nur eines der dynamischen Webprojekte oder nur von Tomcat abhängige Projekte auswähle und eine Abhängigkeit in der Erstellungsreihenfolge verschiebe. Dies scheint zu erzwingen, dass alle Projekte ordnungsgemäß neu erstellt werden, und alle Fehler werden dann behoben.

Klicken Sie mit der rechten Maustaste auf ein Webprojekt und wählen Sie "Erstellungspfad" -> "Erstellungspfad konfigurieren". Gehen Sie zur Registerkarte "Bestellen und Exportieren", wählen Sie eine Bibliothek oder einen Glaseintrag aus und verschieben Sie ihn nach oben oder unten. Ich habe die JRE-Systembibliothek verwendet und sie nach oben verschoben.

Klicken Sie auf OK, und das ganze Rot verschwindet!

2
kas

Und wenn aus irgendeinem Grund nichts funktioniert, erstellen Sie es über die Befehlszeile:

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
Puneet Pandey