web-dev-qa-db-fra.com

SEVERE: Erreur lors de la configuration du listener d'application de la classe org.Apache.catalina.deploy.ApplicationListener

Ici, c’est mon erreur lorsque j’essaie d’exécuter le web.xml de mon projet dans Eclipse.

C’est la principale erreur à laquelle je suis confronté lorsque je tente d’exécuter la page Web de mon projet.

***SEVERE: Error configuring application listener of `class` org.Apache.catalina.deploy.ApplicationListener@1864160e
Java.lang.NoClassDefFoundError: javax/servlet/ServletRequestListener****
at Java.lang.ClassLoader.findBootstrapClass(Native Method)
    at Java.lang.ClassLoader.findBootstrapClassOrNull(`ClassLoader`.Java:927)
    at Java.lang.ClassLoader.loadClass(ClassLoader.Java:298)
    at Java.lang.ClassLoader.loadClass(ClassLoader.Java:296)
    at Sun.misc.Launcher$AppClassLoader.loadClass(Launcher.Java:301)
    at Java.lang.ClassLoader.loadClass(ClassLoader.Java:248)
    at org.Apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.Java:1629)
    at org.Apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.Java:1559)
    at org.Apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.Java:527)
    at org.Apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.Java:509)
    at org.Apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.Java:137)
    at org.Apache.catalina.core.StandardContext.listenerStart(StandardContext.Java:4854)
    at org.Apache.catalina.core.StandardContext.startInternal(StandardContext.Java:5434)
    at org.Apache.catalina.util.LifecycleBase.start(LifecycleBase.Java:150)
    at org.Apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.Java:1559)
    at org.Apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.Java:1549)
    at Java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.Java:303)
    at Java.util.concurrent.FutureTask.run(FutureTask.Java:138)
    at Java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.Java:886)
    at Java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.Java:908)
    at Java.lang.Thread.run(Thread.Java:662)
Sep 10, 2013 6:37:24 PM org.Apache.catalina.core.StandardContext listenerStart
12
Hemanth Kumar

Vous avez manqué des pots comme struts-spring plugin

Utilisez des versions similaires pour obtenir une sortie claire

6
Prasanna

1) Cliquez avec le bouton droit sur le projet, puis sélectionnez " Propriétés ".

2) sélectionnez " Deployment Assembly "

3) Cliquez sur le bouton " Ajouter " situé à droite.

4) Sélectionnez " Entrées du chemin de construction Java " dans le menu Type de directive, puis cliquez sur le bouton "Suivant".

5) Et sélectionnez " Dépendances Maven " dans le menu Entrées du chemin de construction Java et cliquez sur "Terminer". 

6) Supprimez l'ancienne instance du serveur et créez la nouvelle, puis exécutez le projet sur le serveur ...

26
Rishi Gautam

Le servlet-api.jar ne figure pas sur votre chemin de classe. Vérifiez dans le dossier lib de votre conteneur de servlets. Si vous utilisez Tomcat, ce sera généralement dans C:/Apache-Tomcat-7.XX/lib. S'il n'est pas là, téléchargez-le et ajoutez-le. 

2

Supprimez votre application du serveur et relancez-la.

1
Ezd

Vérifiez que tous les fichiers JAR sont correctement configurés ou non . Nettoyez le serveur Eclipse . Nettoyez le répertoire de travail de Tomcat. 

1
D8Sasi

J'ai rencontré un problème similaire chaque fois que j'ai extrait mon projet fraîchement du référentiel SVN et cela a fonctionné pour moi: -

1) Nettoyez le serveur. TopBarMenu> Projet> Nettoyer

2) Désactiver la construction automatique. TopBarMenu> Projet> Décocher Construire automatiquement

3) Construisez manuellement le projet. TopBarMenu> Projet> Construire  

Sinon, Cliquez avec le bouton droit sur le projet vous voulez créer et cliquez sur Construire le projet (actualiser ci-dessus) . (Remarque: cette option est masquée si les projets sont configurés pour se générer automatiquement.)

4) Exécutez le projet.

0
Ashvin Panicker

Si vous avez configuré et construit le projet correctement avec tous les fichiers JAR requis et que vous obtenez toujours la même erreur, vous risquez de manquer de créer le dossier classes. Si nous utilisons la configuration de projet existante et la configurons, le dossier de sortie par défaut doit être entré manuellement, conformément aux exigences du projet. Dans mon cas, Eclipse donnait le dossier de sortie par défaut à/bin mais il était configuré sur nom_projet/WEB-INF/classes. Je l'ai donc changé en nom_projet/WEB-INF/classes

0
Rahul Deore

Si vous avez déployé des bibliothèques pour le javax.servlet qui fait partie du package JavaEE, vous vous êtes trompé, le serveur Web contient déjà ces bibliothèques et les charges correspondant à votre API de spécification de servlet. 

0
Roman C

Si vous avez importé le projet de quelqu'un d'autre dans Eclipse, supprimez et ajoutez servlet-api.jar dans classpath, le chemin de servlet-api.jar pouvant être différent sur votre système. Après cela, nettoyez le projet et exécutez-le à nouveau.

0
Satish Gadhave

Cela se produirait périodiquement avec moi. Même si la dépendance était correcte et même si j'avais déjà démarré le serveur dans Eclipse sans aucun problème. Cependant, si je changeais de code pendant que le serveur était en cours d’exécution, j’avais parfois ce problème.

Je supprimerais l'application du serveur. Démarrer le serveur. Arrête le serveur. Ensuite, relancez 'mvn Eclipse: eclipse -Dwtpversion = 2.0 "(probablement similaire à Project-> Clean).

Ensuite, appuyez sur F5 pour actualiser le projet. Ajoutez l'application au serveur. Démarrer le serveur.

Parfois, le fait de changer de code pendant que le serveur est en cours d’exécution ou s’il est arrêté de manière incorrecte bloque également le port (il est parfois nécessaire de fermer Eclipse ou de redémarrer mon ordinateur).

0
Scott Izu

(Cela a fonctionné dans mon cas) C’est aussi l’un des cas où cela fonctionne: le pot concerné Reconstruire le projet.

La solution donnée par @Rishi Gautam à cette condition doit être vraie.

0
Dila Gurung