J'essaie de démarrer mon application Web sur Tomcat 7, mais chaque fois que je clique sur le bouton de démarrage, le message d'erreur suivant s'affiche:
FAIL - L'application sur le chemin du contexte/Web n'a pas pu être démarrée
et les lignes ci-dessous sont ajoutées au fichier catalina.log
:
8 février 2012 19:21:01 PM org.Apache.catalina.core.StandardContext startInternal SEVERE: Erreur listenerStart 08 février 2012 19:21:01 org.Apache.catalina.core.StandardContext startInternal SEVERE: Context Le démarrage de [/ Web] a échoué en raison d'erreurs précédentes
Comment cela est-il causé et comment puis-je le réparer?
J'ai eu un problème similaire . Le catalina.out a enregistré ce journal Message
17 avril 2013 17:14:46 PM org.Apache.catalina.core.StandardContext start SEVERE: Erreur listenerStart
Consultez le fichier localhost.log dans le répertoire des journaux Tomcat (dans le même répertoire que catalina.out), pour voir l'exception à l'origine de cette erreur.
SEVERE: error listenerStart
Cela revient à dire qu'une ServletContextListener
qui est enregistrée soit par l'annotation @WebListener
de la classe, soit par une déclaration <listener>
dans web.xml
, a généré une exception non gérée dans la méthode contextInitialized()
. Cela est généralement dû à une erreur du développeur (un bogue) et doit être corrigé. Par exemple, une NullPointerException
.
L'exception complète doit être visible dans le journal de démarrage spécifique à l'application Web, ainsi que dans la console IDE, before la ligne particulière que vous avez copypastée. S'il n'y en a pas et que vous ne parvenez toujours pas à trouver la cause de l'exception en consultant simplement le code, placez le code contextInitialized()
complet dans un try-catch
dans lequel vous enregistrez l'exception sur une sortie fiable, puis interprétez-la et corrigez-la en conséquence.
Pour Intellij Idea, le fichier localhost.log est parfois généré à un emplacement différent. Par exemple vous pouvez le trouver dans le répertoire racine\.IntelliJIdea14\system\Tomcat.
SI vous utilisez spring, démarrez ur serveur en mode débogage et mettez le point de débogage dans le bloc catch de la méthode refresh () de org.springframework.context.support.AbstractApplicationContext. Si la création du bean échoue, vous pourrez voir l'exception.
J'ai rencontré exactement le même problème dans une application Web Spring. En fait, j'avais supprimé Spring-security en commentant l'annotation config:
// @ImportResource({"/WEB-INF/spring-security.xml"})
mais j'avais oublié de supprimer les filtres correspondants dans web.xml
:
<!-- Filters -->
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Les filtres de commentaires ont résolu le problème.
Cela peut être dû à un certain nombre de raisons lors de la configuration de l’auditeur. Le meilleur moyen est de vous connecter et de voir l'erreur réelle. Vous pouvez le faire en ajoutant un fichier logging.properties
à la racine de votre chemin de classe avec le contenu suivant:
org.Apache.catalina.core.ContainerBase.[Catalina].level = INFO
org.Apache.catalina.core.ContainerBase.[Catalina].handlers = Java.util.logging.ConsoleHandler
Sélectionnez "tout le projet" et faites un clic droit
Maven-> Projet de mise à jour