web-dev-qa-db-fra.com

La superclasse "javax.servlet.http.HttpServlet" est introuvable dans le chemin de génération Java.

Je suis débutant et j'apprends le printemps et l'hibernation (en utilisant maven dans le projet) et je suis tombé sur ce problème et je suis resté coincé ici. essayé de trouver une solution mais fini nulle part. S'il vous plaît aider. Merci beaucoup

Erreur: "Impossible de trouver le descripteur de bibliothèque de balises pour" http://Java.Sun.com/jsp/jstl/core "

Code: 

<%@ 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" %>

Essayez les solutions données dans La superclasse "javax.servlet.http.HttpServlet" n'a pas été trouvée sur le chemin de construction JavaComment importer l'API javax.servlet dans mon projet Eclipse?

L'erreur toujours présente

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>

22
user3362080

Ajouter le serveur Tomcat à son exécution fera le travail suivant:

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

L'ajout de la dépendance ci-dessous dans pom.xml a fonctionné pour moi.

<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
</dependency>
6
Joshnee

J'ai aussi reçu la même erreur que citée ci-dessous:

La superclasse «javax.servlet.http.HttpServlet» est introuvable dans le chemin de génération Java. 

J'ai suivi ces étapes pour résoudre le problème:

  1. Clic droit sur projet
  2. Sélectionnez Propriétés
  3. Sélectionner les facettes du projet
  4. Sélectionnez Apache Tomcat en tant que serveur d'exécution
  5. Cliquez sur OK
4
G V Arun Kumar

pour le projet maven, vous devez ajouter cette dépendance

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

ajoutez le fichier jar servlet-api qui est présent dans le dossier lib sous le dossier Tomcat. Vous pouvez le faire comme suit Projet -> propriétés -> chemin de construction Java -> sous bibliothèques, cliquez sur ajouter des fichiers jar externes Après cela, accédez à projet -> nettoyer -> tout construire. cela a fonctionné pour moi. 

1
Dhruv Kadia

Je suis tombé sur le même problème. J'ai essayé d'ajouter le serveur dans "Server Runtime" mais cela n'a malheureusement pas fonctionné pour moi.

Ce qui a fonctionné pour moi, c’est que j’ai ajouté le fichier javax.servlet-api-3.0.1.jar dans le chemin de construction. D'autre part, s'il s'agit d'un projet Maven, ajoutez une dépendance pour ce fichier JAR. Cela fonctionnerait certainement.

1
MAC

J'ai eu le même problème et quelques autres ont été rapportés pour un projet Maven existant.

J'avais les dépendances appropriées en place et je pouvais voir le bocal sous des dépendances maven, mais le projet avait été amené à tort dans Eclipse. 

J'ai fini par avoir à supprimer le projet, à cloner à nouveau dans git puis à importer le projet en tant que projet Maven existant. 

Cela a résolu le problème dans ce fil et plusieurs autres problèmes que j'avais. Plus de détails sur la solution peuvent être trouvés ici: Le projet Maven dans Eclipse `org.springframework ne peut pas être résolu en un type` depuis le chemin cible

0
James Oravec

Pour un projet Ant:

Assurez-vous que vous avez servlet-api.jar dans le dossier lib.

Pour un projet Maven:

Assurez-vous que vous avez la dépendance ajoutée dans POM.xml.

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

Une autre façon de le faire est: Mettez à jour les facettes du projet pour choisir le bon serveur.

Cochez cette case à cet endroit:

Projet → Propriétés → Runtimes cibles → Apache Tomcat (n'importe quel serveur)

0
user3906011

Vérifiez toujours si vos fichiers Java se trouvent dans src/main/Java et non sur un chemin de répertoire other.

0
cyberdemon

La superclasse «javax.servlet.http.HttpServlet» est introuvable dans le chemin de génération Java.

Erreur: "Impossible de trouver le descripteur de bibliothèque de balises pour" http://Java.Sun.com/jsp/jstl/core "

Solution: l'ajout du serveur Tomcat dans l'exécution du serveur remplit les fonctions suivantes: Propriétés du projet-> Chemin de construction Java-> Ajouter une bibliothèque -> Sélectionnez "Exécution du serveur" dans la liste -> Suivant -> Sélectionnez "Apache Tomcat" - > Terminer

Cette solution fonctionne pour moi.

0
Vikash Kumar

Ajoutez le fichier servlet-api.jar présent dans le dossier lib du dossier Tomcat. Vous pouvez le faire en procédant comme suit:

1.Sélectionnez les propriétés du projet.
2.Sélectionnez le chemin de construction Java
3.Sélectionnez les bibliothèques
4.Sélectionnez des bocaux externes
5.Sélectionnez servlet-api.jar
6. Appliquer et ok.

Le problème devrait être résolu après ces étapes.

0
ILAIYARAJA

Ajouter le serveur Tomcat à son exécution fera le travail suivant:

Faites un clic droit sur votre projet et que;

Propriétés du projet → Durée d'exécution cibles → Sélectionnez/Cochez "Apache Tomcat" → Terminer.

0
harun ugur

J'ai fait face à la même erreur. Ajouter le serveur Tomcat dans l'environnement d'exécution résoudra l'erreur:

Faites un clic droit sur votre projet -> Propriétés -> Programmes d’exécution ciblés -> Sélectionnez le serveur Apache Tomcat -> cliquez sur Appliquer -> cliquez sur OK.

0
Hetal Rachh

Votre système peut avoir de nombreuses versions de Tomcat. Vous pouvez essayer de le résoudre.

Cliquez avec le bouton droit de la souris sur Projet, puis sélectionnez Propriétés, Sélectionnez les facettes du projet et Dans la section de droite, Sélectionnez les versions correctes d’Apache Tomcat comme Runtimes, puis

0
hitCode

Essayez ceci - Ajoutez Tomcat au moment de l'exécution

0
Purva