Je développe une application Web en utilisant un cadre de travail, mais je reçois une erreur de suivi dans certaines pages de jsp.
javax.servlet.ServletException cannot be resolved to a type
J'ai inclus servlet-api
également, mais le même message d'erreur est toujours affiché. Comment surmonter ce problème?
Je suppose que cela peut fonctionner, dans Eclipse sélectionnez votre projet → puis cliquez sur barre de menus du projet en haut → allez à propriétés → cliquez sur Runtimes ciblés → vous devez maintenant cochez la case en regard du serveur que vous utilisez pour exécuter le projet en cours → cliquez sur Appliquer → puis cliquez sur le bouton OK . Ça y est, essayez.
Il me semble qu’Eclipse ne reconnaît pas l’API Web Java ee (servlets, el, etc.). Si vous utilisez maven et ne souhaitez pas configurer Eclipse avec un serveur d’exécution spécifié, indiquez la dépendance ci-dessous dans le pom de votre projet Web:
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-web-api</artifactId>
<version>7.0</version> <!-- Put here the version of your Java EE app, in my case 7.0 -->
<scope>provided</scope>
</dependency>
Allez dans les propriétés de votre projet (avec Alt+Enter ou clic droit)
vérifiez sur Apache Tomcat v7.0 sous Runtime ciblé et cela fonctionne.
Ajoutez le serveur (Tomcat) en cliquant avec le bouton droit de la souris sur le projet et sélectionnez "Propriétés", puis sélectionnez "Informations sur le projet", "onglet Exécution", ou "Exécution cible"
s'il s'agit d'un problème maven pom.xml, essayez de l'ajouter à pom.xml
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.3.1</version>
<scope>provided</scope>
</dependency>
cela résoudra le problème.
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.3.2-b02</version>
<scope>provided</scope>
</dependency>
a travaillé pour moi.
Comme presque tout le monde l’a dit, l’ajout d’un service d’exécution résoudra le problème. Mais si il n'y a pas de service d'exécution ou s'il y a quelque chose commeGoogle App Enginequi n'est pas votre préféré, cliquez sur Nouveau le bouton situé en bas du Runtimes ciblés list et ajoute un nouvel environnement de serveur d'exécution. Puis cochez-le et cliquez surOKet laissez le compilateur compiler à nouveau votre projet.
J'espère que ça aide ;)