J'ai un projet créé par l'intégration Maven dans Eclipse. Tout fonctionne bien, mais dans l'espace de travail de 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ù place:
<%@ page language="Java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
Lorsque je crée un projet Web dynamique de base et JSP in - tout va bien, pas d'erreur.
Ajoutez d'abord un environnement d'exécution et sélectionnez les propriétés du projet. Ensuite, vérifiez 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>
Gradle
configurations {
provided
}
sourceSets {
main { compileClasspath += configurations.provided }
}
dependencies {
provided 'javax.servlet:javax.servlet-api:3.1.0'
}
Projet → Propriétés → Runtimes cibles → Apache Tomcat a travaillé pour moi. Il n'y a pas de temps d'exécution cible sous Facettes (je suis sur Eclipse v4.2 (Juno)).
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>
ne 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)
Projet → Propriétés → Runtimes cibles → * Apache Tomcat a fonctionné pour moi. Il n'y a pas de temps d'exécution cible sous Facettes (je suis sur Eclipse v4.4 (Luna)).
L'ajout du serveur Tomcat dans l'exécution du serveur fera l'affaire:
Propriétés du projet → Runtimes cibles → Sélectionnez votre serveur dans la liste, " JBoss Runtime "→ Finish
Dans le cas d'Apache, vous pouvez sélectionner Apache Runtime.
Ces étapes peuvent vraiment vous aider:
Si vous n'avez pas installé de serveur, vous devez suivre ces étapes:
Menu Fenêtre → Préférences → Dépendre du serveur → Environnement d'exécution → Ajouter → choisissez un nom puis choisissez le chemin du serveur Apache que vous avez déjà installé sur votre PC (vous pouvez appuyer sur le bouton Télécharger et installer également) → Finish → OK
Ref # pour plus d'informations, cliquez ici
Ajoutez le serveur Tomcat:
Propriétés du projet → Chemin de génération Java → Ajouter une bibliothèque → Sélectionnez "Server Runtime" dans la liste * → Suivant → Sélectionnez "Apache Tomcat" → Finish
Ref # Cette réponse
Ajoutez simplement 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>
Ajouter le serveur Tomcat à son exécution fera le travail suivant:
Propriétés du projet → chemin de construction Java → Ajouter une bibliothèque → sélectionnez "Runtime du serveur" dans la liste → Suivant → Sélectionnez "Apache Tomcat" → Terminer.
Sélectionnez un projet → Propriétés → Facettes du projet → Durée d'exécution cible → Serveur VMware.
Cela a fonctionné pour moi.
Si vous n'utilisez pas Maven, déposez simplement le fichier javax.servlet-api.jar dans le dossier lib de votre projet.
Comme cela reste sans réponse, je suppose que quelque chose d'autre que les dépendances Maven ne va pas avec la construction des opérations.
Bien que je n’utilise pas Maven, j’ai le même problème de temps en temps lorsque je recrée mon environnement de développement à partir de svn, 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 de projets ayant déjà fonctionné en ne sélectionnant qu'un seul des projets Web dynamiques, ou uniquement des projets dépendants de Tomcat, et de déplacer une dépendance dans l'ordre de génération. Cela semble forcer tous les projets à se reconstruire correctement et toutes les erreurs sont ensuite résolues.
Faites un clic droit sur un projet Web, sélectionnez "chemin de construction" -> "Configurer le chemin de construction". Allez dans l'onglet "Commander et exporter", puis choisissez une bibliothèque ou une entrée de fichier JAR et déplacez-la vers le haut ou le bas. J'ai utilisé la bibliothèque système JRE et l'ai déplacée vers le haut.
Cliquez sur OK, et tout ce rouge disparaît!
Et si rien ne fonctionne, peu importe la raison, 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