La superclasse "javax.servlet.http.HttpServlet" n'a pas été trouvé sur le chemin de construction Java [dupliquer]

cette question a déjà une réponse ici:

  • Comment puis-je importer le javax.L'API servlet dans mon projet Eclipse? 14 réponses

j'ai un projet créé par Maven integration dans Eclipse. Tout fonctionne bien, mais dans l'espace de travail dans tous les fichiers JSP ont ceci:

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

à la première chaîne où se trouve:

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

quand je crée un projet web dynamique de base et JSP in-all est très bien, pas d'erreurs.

370
demandé sur Peter Mortensen 2014-03-31 11:48:36

15 réponses

Ajouter un runtime d'abord et sélectionner les propriétés du projet. Vérifiez ensuite le nom du serveur à partir de l'onglet 'Runtimes' comme indiqué dans l'image.

Select runtime from Project Facets as shown the in image

573
répondu Ajil Mohan 2017-01-22 17:30:02

incluez servlet-api-3.1.jar dans vos dépendances.

  • Maven

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

    configurations {
        provided
    }
    sourceSets {
        main { compileClasspath += configurations.provided }
    }
    dependencies {
        provided 'javax.servlet:javax.servlet-api:3.1.0'
    }
    
222
répondu Mr. Polywhirl 2016-02-03 12:19:57

Project → Properties Target Runtime Apache Tomcat worked for me. Il n'y a pas de durée D'exécution cible sous facettes (je suis sur Eclipse v4.2 (Juno)).

96
répondu DMF 2017-01-22 17:27:56

pour un projet Ant :

assurez-vous que vous avez servlet-api.pot dans le dossier lib .

pour un projet Maven:

assurez-vous que la dépendance soit 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 : mettre à jour les facettes du projet pour récupérer le bon serveur.

vérifiez ceci boîte à cet endroit:

Project → Properties Target Runtime → Apache Tomcat (any server)

35
répondu Sireesh Yarlagadda 2017-01-22 19:52:06

Inclure servlet-api.jar du dossier lib de votre serveur.

Enter image description here

faites cette étape

Enter image description here

Qu'est-ce que c'est?

le fichier JAR servlet-api est une bibliothèque qui contient les interfaces et les classes de la spécification de L'API Servlet. Le fichier JAR servlet-api contient seulement l'interface (L'API) de la spécification Servlet, de sorte que vous pouvez l'utiliser pour développer votre application web.

où pouvez-vous l'obtenir?

Il est fourni sur le lien ci-dessous:

http://download.oracle.com/otndocs/jcp/servlet-3.0-fr-eval-oth-JSpec /

Lorsqu'elle est contenue/groupée

Servlet-api.jar fait partie du téléchargement Java EE, vous pouvez donc développer vos applications web (vous ne pouvez pas compiler votre classe FirstServlet si Java EE ne la contient pas).

conteneurs à Servlet (comme Tomcat, JBoss, GlassFish, etc.) contient également l'api servlet.jar, sinon ils ne seraient pas en mesure d'exécuter votre application web, et de plus ils contiennent également l'implémentation des interfaces qui font partie de L'API Servlet.

Le nom n'est pas toujours la même chose cependant, et il se peut qu'il n'existe même pas de fichier JAR séparé, les classes D'API Servlet peuvent être empaquetées dans un autre fichier JAR.

vous pouvez cependant télécharger un fichier JAR séparé contenant uniquement l'API Servlet si vous voulez simplement développer une application web pour un conteneur Servlet, ou si vous voulez créer/écrire votre propre implémentation de L'API Servlet. Regardez ici:

http://download.oracle.com/otndocs/jcp/servlet-3.0-fr-eval-oth-JSpec /

portabilité

vous pouvez compiler votre application web si vous avez L'API Servlet, peu importe d'où elle vient. Après avoir compilé votre application web, vous pouvez éventuellement l'empaqueter dans un fichier WAR (WAR=Web ARchive) qui est simplement un fichier ZIP contenant vos fichiers statiques, vos classes Java compilées et des fichiers de configuration comme web.xml , etc. Et vous pourrez exécuter votre application web compilée dans n'importe quel conteneur Servlet.

31
répondu sarath 2017-01-22 17:34:56

Project → Properties Target Runtime → *Apache Tomcat a travaillé pour moi. Il n'y a pas de durée D'exécution cible sous facettes (je suis sur Eclipse v4.4 (Luna)).

27
répondu Burak Durmuş 2017-01-22 17:36:07

ajouter le serveur Tomcat dans l'exécution du serveur fera le travail:

Propriétés du Projet Target Runtimes → Sélectionnez votre Serveur dans la liste, "JBoss Runtime" → Terminer

dans le cas D'Apache, vous pouvez sélectionner Apache Runtime.

Enter image description here

19
répondu Varun 2017-01-22 17:41:22

il suffit d'ajouter ces dépendances à votre fichier pom.xml :

<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
répondu A. El Idrissi 2017-01-22 17:36:54

Ces étapes peuvent vraiment vous aider:

  1. si vous n'avez pas installé de serveur, vous devez suivre les étapes suivantes:

    Menu Fenêtre Préférences Consacrer Serveur Runtime environment Ajouter → choisir un nom, puis choisissez le serveur Apache chemin que vous avez déjà installé sur votre PC (vous pouvez appuyer sur télécharger et installer aussi) → terminer OK

Ref# pour plus d'information, cliquez ici

  1. ajouter le serveur Tomcat:

    Project Properties Java Build Path Add Library → sélectionner "Server Runtime" dans la liste* → Suivant → Sélectionner "Apache Tomcat" → Finition

Ref# Cette réponse

12
répondu Chris Sim 2017-05-23 12:02:57

ajouter le serveur Tomcat dans l'exécution du serveur fera l'affaire:

Propriétés du projet → Java Build Path ajouter une bibliothèque sélectionner" exécution du serveur " dans la liste → suivant → sélectionner" Apache Tomcat " → terminer .

7
répondu adarsh hegde 2017-01-22 17:38:22

Sélectionnez projet → Propriétés → "151910920 Projet" Facettes → Target Runtimes VMware Server .

ça a marché pour moi.

5
répondu Anant Pathak 2017-01-22 17:27:07

si vous n ' utilisez pas Maven, jetez simplement le javax.servlet-api.jar dans votre dossier lib de projet.

2
répondu Mahder 2014-08-03 19:26:09

comme ceci est sans réponse, je devine que quelque chose d'autre que les dépendances Maven ne va pas avec la construction ops.

bien que N'utilisant pas Maven, j'ai le même problème de temps en temps lors de la recréation de mon environnement de développement à partir de svn, et j'oublie toujours pourquoi et je dois le comprendre. Malheureusement, il semble que ce soit un problème avec Eclipse.

je suis en mesure de supprimer toutes ces erreurs d'une fois les projets de travail en choisissant un seul de la dynamique les projets web, ou tout simplement les projets dépendants de tomcat, et déplacent une dépendance dans l'ordre de construction. Cela semble forcer tous les projets à se reconstruire correctement et toutes les erreurs sont ensuite résolues.

clic droit sur un projet web, sélectionnez "Chemin de compilation" -> "configurer le chemin de compilation". Allez à l'onglet "commander et Exporter", puis choisissez une bibliothèque ou une boîte de saisie et déplacez-la vers le haut ou vers le bas. J'ai utilisé la Bibliothèque du système JRE et je l'ai déplacée vers le haut.

cliquez OK, et tout ce rouge va loin!

2
répondu kas 2018-10-03 06:13:59

et si rien ne fonctionne pour quelque raison que ce soit, construisez-le à partir de la ligne de commande:

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
répondu Puneet Pandey 2017-01-22 17:42:09

dans le cas de JBoss... clic droit sur le projet → Build Java path → ajouter des fichiers externes JAR.

Puis parcourir pour jboss-dossier → Commun lib → servlet-api.jar

. . Cliquez sur OK , rafraîchissez le projet et lancez-le...

-1
répondu shashank 2017-01-22 17:40:11