2014-11-14 4 views
21

gefunden Ich bin ein Anfänger und Lernen Frühling und Winterschlaf (mit Maven im Projekt) und stieß auf dieses Problem und blieb hier stecken. versucht, eine Lösung zu finden, endete aber nirgendwo. Bitte helfen Sie. Dank vielDie Oberklasse "javax.servlet.http.HttpServlet" wurde nicht auf dem Java Build Path

Fehler: http://java.sun.com/jsp/jstl/core "

-Code "kann nicht die Tag-Bibliotheksdeskriptor für finden":

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 
<%@ taglib uri="http://www.springframework.org/tags" prefix="spring" %> 
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %> 

die Lösungen in The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path How do I import the javax.servlet API in my Eclipse project?

Der Fehler noch vorhanden gegeben Versuchte

pom.xml

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema- instance" 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
<modelVersion>4.0.0</modelVersion> 
<groupId>com.journaldev.spring</groupId> 
<artifactId>SpringMVCHibernate</artifactId> 
<name>SpringMVCHibernate</name> 
<packaging>war</packaging> 
<version>1.0.0-BUILD-SNAPSHOT</version> 
<properties> 
    <java-version>1.6</java-version> 
    <org.springframework-version>4.0.3.RELEASE</org.springframework-version> 
    <org.aspectj-version>1.7.4</org.aspectj-version> 
    <org.slf4j-version>1.7.5</org.slf4j-version> 
    <hibernate.version>4.3.5.Final</hibernate.version> 
</properties> 
<dependencies> 
    <!-- Spring --> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-context</artifactId> 
     <version>${org.springframework-version}</version> 
     <exclusions> 
      <!-- Exclude Commons Logging in favor of SLF4j --> 
      <exclusion> 
       <groupId>commons-logging</groupId> 
       <artifactId>commons-logging</artifactId> 
      </exclusion> 
     </exclusions> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-webmvc</artifactId> 
     <version>${org.springframework-version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-tx</artifactId> 
     <version>${org.springframework-version}</version> 
    </dependency> 

    <!-- Hibernate --> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-core</artifactId> 
     <version>${hibernate.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-entitymanager</artifactId> 
     <version>${hibernate.version}</version> 
    </dependency> 

    <!-- Apache Commons DBCP --> 
    <dependency> 
     <groupId>commons-dbcp</groupId> 
     <artifactId>commons-dbcp</artifactId> 
     <version>1.4</version> 
    </dependency> 
    <!-- Spring ORM --> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-orm</artifactId> 
     <version>${org.springframework-version}</version> 
    </dependency> 

    <!-- AspectJ --> 
    <dependency> 
     <groupId>org.aspectj</groupId> 
     <artifactId>aspectjrt</artifactId> 
     <version>${org.aspectj-version}</version> 
    </dependency> 

    <!-- Logging --> 
    <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-api</artifactId> 
     <version>${org.slf4j-version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>jcl-over-slf4j</artifactId> 
     <version>${org.slf4j-version}</version> 
     <scope>runtime</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-log4j12</artifactId> 
     <version>${org.slf4j-version}</version> 
     <scope>runtime</scope> 
    </dependency> 
    <dependency> 
     <groupId>log4j</groupId> 
     <artifactId>log4j</artifactId> 
     <version>1.2.15</version> 
     <exclusions> 
      <exclusion> 
       <groupId>javax.mail</groupId> 
       <artifactId>mail</artifactId> 
      </exclusion> 
      <exclusion> 
       <groupId>javax.jms</groupId> 
       <artifactId>jms</artifactId> 
      </exclusion> 
      <exclusion> 
       <groupId>com.sun.jdmk</groupId> 
       <artifactId>jmxtools</artifactId> 
      </exclusion> 
      <exclusion> 
       <groupId>com.sun.jmx</groupId> 
       <artifactId>jmxri</artifactId> 
      </exclusion> 
     </exclusions> 
     <scope>runtime</scope> 
    </dependency> 

    <!-- @Inject --> 
    <dependency> 
     <groupId>javax.inject</groupId> 
     <artifactId>javax.inject</artifactId> 
     <version>1</version> 
    </dependency> 

    <!-- Servlet --> 
    <dependency> 
     <groupId>javax.servlet</groupId> 
     <artifactId>servlet-api</artifactId> 
     <version>2.5</version> 
     <scope>provided</scope> 
    </dependency> 
    <dependency> 
     <groupId>javax.servlet.jsp</groupId> 
     <artifactId>jsp-api</artifactId> 
     <version>2.1</version> 
     <scope>provided</scope> 
    </dependency> 
    <dependency> 
     <groupId>javax.servlet</groupId> 
     <artifactId>jstl</artifactId> 
     <version>1.2</version> 
    </dependency> 

    <!-- Test --> 
    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>4.7</version> 
     <scope>test</scope> 
    </dependency> 

</dependencies> 
<build> 
    <plugins> 
     <plugin> 
      <artifactId>maven-eclipse-plugin</artifactId> 
      <version>2.9</version> 
      <configuration> 
       <additionalProjectnatures> 
        <projectnature>org.springframework.ide.eclipse.core.springnature</projectnature> 
       </additionalProjectnatures> 
       <additionalBuildcommands> 
        <buildcommand>org.springframework.ide.eclipse.core.springbuilder</buildcommand> 
       </additionalBuildcommands> 
       <downloadSources>true</downloadSources> 
       <downloadJavadocs>true</downloadJavadocs> 
      </configuration> 
     </plugin> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>2.5.1</version> 
      <configuration> 
       <source>1.6</source> 
       <target>1.6</target> 
       <compilerArgument>-Xlint:all</compilerArgument> 
       <showWarnings>true</showWarnings> 
       <showDeprecation>true</showDeprecation> 
      </configuration> 
     </plugin> 
     <plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>exec-maven-plugin</artifactId> 
      <version>1.2.1</version> 
      <configuration> 
       <mainClass>org.test.int1.Main</mainClass> 
      </configuration> 
     </plugin> 
    </plugins> 
    <finalName>${project.artifactId}</finalName> 
</build> 

+0

hinzufügen versuchen, die Bibliotheken zum Ordner lib unter web-inf –

+0

(Ich kann kaum etwas auf meinem kleinen Handy sehen). Stellen Sie sicher, dass Sie das EE SDK als Abhängigkeit für Ihr Projekt im Bereich "bereitgestellt" definiert haben. THEN: Wo tritt der Erstellungsfehler auf? IN der Maven Build, irgendwo in Ihrer IDE oder zur Laufzeit, wenn Sie versuchen, auf Ihre Anwendung zuzugreifen? – JBA

+0

Der Fehler tritt bei der Kompilierungszeit in der IDE.How, EE SDK-Abhängigkeit einbeziehen? – user3362080

Antwort

69

den Tomcatbediener in der Server-Laufzeit den Job tun Hinzufügen:

Project Properties-> Java Build Path-> Add Library -> Select "Server Runtime" from the list-> Next->Select "Apache Tomcat"-> Finish 
+0

Das macht die Arbeit für mich nicht. Kannst du helfen? – Greyshack

+0

Diese Lösung funktioniert nicht für My Eclipse Blue, obwohl ich den Web Sphere-Anwendungsserver als Ziel-Laufzeitumgebung hinzugefügt habe –

+0

Dies funktionierte nicht einmal für mich. Ich habe den Glasfish Server ausgewählt, aber ich bekomme diesen Fehler. – MAC

6

unter Abhängigkeit in pom.xml Hinzufügen arbeitete für mich.

<dependency> 
<groupId>javax.servlet</groupId> 
<artifactId>servlet-api</artifactId> 
<version>2.5</version> 
</dependency> 
+0

zuerst habe ich 2,4 hinzugefügt. Aber Eclipse beschwerte sich in der Datei index.jsp mit rotem Kreuz mit "javax-servlet-http-httpservlet-was-nicht-gefunden". Als ich es zu 2.5 änderte, ist das rote Kreuz jetzt gegangen. – Rumel

3

erhielt ich auch den gleichen Fehler wie unten angegeben:

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

ich diese Schritte befolgt das Problem zu beheben:

  1. Direkt am Projekt Klicken
  2. Wählen Sie Eigenschaften
  3. Wählen Sie die Projektfacetten
  4. Wählen Sie Apache Tomcat als Runtime-Server
  5. Klicken Sie auf OK
1

Add-Servlet-API-JAR-Datei, die im Ordner lib unter tomcat Ordner vorhanden ist. Sie können dies wie folgt tun Projekt -> Eigenschaften -> Java-Build-Pfad -> unter Bibliotheken klicken Sie auf externe Gläser hinzufügen danach gehen Sie zum Projekt -> sauber -> Build all. das funktionierte für mich.

0

Fügen Sie die Datei servlet-api.jar hinzu, die sich im Ordner lib unter dem Ordner tomcat befindet. Sie können diese mithilfe der folgenden Schritte tun:

1.Select Projekteigenschaften
2.Select Java Build Path
3.Select Bibliotheken
4.Select Externer Jars
5.Select Servlet-api.jar
6. Anwenden & Ok.

Das Problem sollte nach diesen Schritten behoben werden.

2

für Maven-Projekt, sollten Sie diese Abhängigkeit hinzufügen

<dependency> 
      <groupId>javax</groupId> 
      <artifactId>javaee-web-api</artifactId> 
      <version>6.0</version> 
      <scope>provided</scope> 
</dependency> 
1

ich auf die gleiche Frage kam. Ich habe versucht, den Server in "Server Runtime" hinzuzufügen, aber das hat leider nicht funktioniert. Was für mich funktionierte, ist Ich fügte hinzujavax.servlet-api-3.0.1.jarDatei in Build-Pfad. Auf der anderen Seite, wenn es ein Maven-Projekt ist, fügen Sie eine Abhängigkeit für diese JAR-Datei hinzu. Das würde definitiv funktionieren.

Hoffen, das würde jemandem helfen.

0

den Tomcat-Server in der Server-Runtime Hinzufügen wird die Arbeit machen:

Rechts Ihr Projekt klicken und als;

Projekteigenschaften → Ziel-Laufzeiten → "Apache Tomcat" auswählen/prüfen → Fertig stellen.

0

Ich hatte das gleiche Problem und ein paar andere für ein bestehendes Maven-Projekt gemeldet.

Ich hatte die richtigen Abhängigkeiten an Ort und Stelle und ich konnte das Glas unter Maven Abhängigkeiten sehen, aber das Projekt wurde nicht ordnungsgemäß in Finsternis gebracht.

Ich musste das Projekt löschen, von git erneut klonen und dann einen Import des Projekts als bestehendes Maven-Projekt durchführen.

Dies löste das Problem in diesem Thread und einige andere Probleme, die ich hatte. Weitere Details zu Lösung finden Sie hier: Maven Project in Eclipse `org.springframework cannot be resolved to a type` from target path

0

immer überprüfen, ob Ihre Java-Dateien sind in src/main/java und nicht auf einige anderen Verzeichnis Pfad.

+0

Java-Dateien sollten in Ordnern sein, die mit dem Paketnamen übereinstimmen ... nicht sicher, ob Ihre Antworten auf diese Weise funktionieren. – GhostCat

0

Try This - Hinzufügen Tomcat zur Laufzeit

+1

Warum haben Sie es zitiert? –

0

Für ein Ant-Projekt:

Stellen Sie sicher, haben Sie Servlet-api.jar im Ordner lib.

Für ein Maven-Projekt:

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

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

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

Aktivieren Sie diese Option in diesem Ort:

Projekt → Eigenschaften → Ziel Runtimes → Apache Tomcat (alle Server)

0

Ihr System viele verschiedene Versionen Kater haben. Sie können versuchen, es zu lösen.

Direkt am Projekt Klicken Sie dann auf Eigenschaften auswählen, Select Project Facets und auf dem rechten Seite Wählen Sie im Abschnitt rechts Apache Tomcat-Versionen als Runtimes und Klick ok

Verwandte Themen