web-dev-qa-db-fra.com

Le javax.servlet d'importation ne peut pas être résolu

J'essaie d'utiliser Eclipse pour Java EE pour développer des applications Web.

J'ai besoin d'utiliser Tomcat comme mon serveur. J'ai téléchargé Tomcat et il est en cours d'exécution. Mais mon programme ne compile pas.

Je reçois l'erreur suivante:

Le javax.servlet d'importation ne peut pas être résolu.

Qu'est-ce que je dois faire?

128
snakile

Vous devez ajouter l'API Servlet à votre chemin de classe. Dans Tomcat 6.0, il s'agit d'un fichier JAR appelé servlet-api.jar dans le dossier lib de Tomcat. Vous pouvez soit ajouter une référence à ce fichier JAR au chemin de classe du projet, soit en placer une copie dans votre projet Eclipse, puis l'ajouter au chemin de classe à partir de là.

Si vous souhaitez laisser le fichier JAR dans le dossier lib de Tomcat:

  • Cliquez avec le bouton droit sur le projet, cliquez sur Propriétés.
  • Choisissez chemin de construction Java.
  • Cliquez sur l'onglet Bibliothèques
  • Cliquez Ajouter des fichiers JAR externes ...
  • Parcourez pour trouver servlet-api.jar et sélectionnez-le.
  • Cliquez OK pour mettre à jour le chemin de génération.

Ou, si vous copiez le fichier JAR dans votre projet:

  • Cliquez avec le bouton droit sur le projet, cliquez sur Propriétés.
  • Choisissez chemin de construction Java.
  • Cliquez Ajouter des fichiers JAR ...
  • Trouvez servlet-api.jar dans votre projet et sélectionnez-le.
  • Cliquez OK pour mettre à jour le chemin de génération.
197
Richard Fearn

Si ce n'est pas encore fait, vous devez intégrer Tomcat dans votre vue Serveurs. Faites un clic droit dessus et choisissez Nouveau> Serveur. Sélectionnez la version de Tomcat appropriée dans la liste et terminez l’assistant.

Lorsque vous créez un nouveau projet Web dynamique, vous devez sélectionner le serveur intégré dans la liste en tant que runtime ciblé dans la première étape de l'assistant.

Ou lorsque vous avez une Projet Web dynamique, vous pouvez la définir/la modifier dans une entrée Runtimes ciblés dans les propriétés du projet. Eclipse ajoutera ensuite automatiquement toutes ses bibliothèques au chemin de construction (sans en avoir une copie dans le projet!).

92
BalusC

Vous devez définir l'étendue de la dépendance sur "fourni" dans votre POM.

http://maven.Apache.org/guides/introduction/introduction-to-dependency-mechanism.html#Dependency_Scope

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

Alors tout ira bien.

17
Jeroen Rondeel

Ajoutez le servlet-api.jar à votre chemin de classe. Vous pouvez le prendre dans le dossier lib de Tomcat.

13
Bozho

J'ai eu le même problème parce que mon "projet Web dynamique" n'avait aucune référence au serveur installé que je voulais utiliser et donc aucune référence à l'API Servlet fournie par le serveur.

Les étapes suivantes ont résolu le problème sans ajouter une API Servlet supplémentaire au chemin de construction Java (version Eclipse: Luna):

  • clic droit sur votre "projet Web dynamique"
  • Sélectionnez Propriétés
  • Sélectionnez Projet Facets dans la liste de gauche de l'assistant "Propriétés".
  • Sur le côté droit de l'assistant, vous devriez voir un onglet nommé Runtimes. Sélectionnez l'onglet Runtime et vérifiez le serveur vous voulez exécuter le servlet.

Edit: s'il n'y a pas de serveur listé, vous pouvez en créer un nouveau dans l'onglet Runtimes

12
leiseliesel

Ajouter à pom.xml

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.1.0</version>
</dependency>
8
Andrey

Si vous obtenez cette erreur de compilation, cela signifie que vous n'avez pas inclus le fichier jar de servlet dans le chemin d'accès aux classes. La méthode correcte pour inclure ce fichier JAR consiste à ajouter le fichier JAR Server Runtime à votre projet Eclipse. Vous devez suivre les étapes ci-dessous pour résoudre ce problème: Vous pouvez télécharger le servlet-api.jar à partir d’ici http://www.Java2s.com/Code/Jar/s/Downloadservletapijar.htm

Save it in directory. Right click on project -> go to properties->Buildpath and follow the steps.

Remarque: Les fichiers jar affichés à l'écran ne sont pas corrects.

vous pouvez suivre l’étape pour configurer.

enter image description here

enter image description hereenter image description hereenter image description here

5
Varun

Avait le même problème dans Eclipse. Pour une raison quelconque, je n'avais pas le fichier servlet.jar dans mon chemin de génération. Ce que j’ai fini par faire, c’est copier un dossier "lib" d’un autre de mes projets dans le projet sur lequel je travaillais, puis aller manuellement dans ce dossier et ajouter le fichier servlet.jar au chemin de construction (l’option s’affiche lorsque vous cliquez sur le fichier dans l'explorateur de projet).

2
YMW