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.
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.
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' }
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)).
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)
Inclure servlet-api.jar du dossier lib de votre serveur.
faites cette étape
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.
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)).
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.
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>
Ces étapes peuvent vraiment vous aider:
-
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
-
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
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 .
Sélectionnez projet → Propriétés → "151910920 Projet" Facettes → Target Runtimes → VMware Server .
ça a marché pour moi.
si vous n ' utilisez pas Maven, jetez simplement le javax.servlet-api.jar dans votre dossier lib de projet.
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!
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
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...