Comment résoudre les erreurs listenerStart lors du déploiement de l'application Web dans Tomcat 5.5?
J'ai déployé une application web Apache Wicket qui utilise Spring et Hibernate pour mon instance Tomcat 5.5. Lorsque je navigue vers L'interface Tomcat Manager, je vois que l'application web que j'ai déployée n'est pas en cours d'exécution. Lorsque j'appuie sur "Démarrer", j'obtiens le message d'erreur suivant; "FAIL - l'Application au chemin de contexte /spaghetti n'a pas pu démarrer".
mon catalina.log contient ce qui suit:
Apr 15, 2010 1:51:22 AM org.apache.catalina.loader.WebappClassLoader validateJarFile
INFO: validateJarFile(/var/lib/tomcat5.5/webapps/spaghetti/WEB-INF/lib/jsp-api-6.0.16.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/jsp/JspPage.class
Apr 15, 2010 1:51:22 AM org.apache.catalina.loader.WebappClassLoader validateJarFile
INFO: validateJarFile(/var/lib/tomcat5.5/webapps/spaghetti/WEB-INF/lib/servlet-api-6.0.16.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
Apr 15, 2010 1:51:24 AM org.apache.catalina.core.StandardContext start
SEVERE: Error listenerStart
Apr 15, 2010 1:51:24 AM org.apache.catalina.core.StandardContext start
SEVERE: Context [/spaghetti] startup failed due to previous errors
extrait de web.xml:
<listener> <listener-class> org.springframework.web.context.ContextLoaderListener </listener-class> </listener>
Toute aide est grandement appréciée.
4 réponses
/var/lib/tomcat5.5/webapps/spaghetti/WEB-INF/lib/jsp-api-6.0.16.jar
/var/lib/tomcat5.5/webapps/spaghetti/WEB-INF/lib/servlet-api-6.0.16.jar
Vous devriez pas "151990920 a un serveur spécifique des bibliothèques dans le /WEB-INF/lib
. Laissez-les dans la bibliothèque de l'applserver. Cela ne conduirait qu'à des collisions sur le chemin de classe. Débarrassez-vous de toutes les bibliothèques spécifiques à appserver dans /WEB-INF/lib
(et aussi dans JRE/lib
et JRE/lib/ext
si vous avez placé l'une d'entre elles là).
une cause commune que les bibliothèques spécifiques à l'appserveur sont incluses dans la bibliothèque de la webapp est que les débutants pensent que c'est la bonne façon de corriger les erreurs de compilation des classes javax.servlet
n'étant pas résolvables. Les mettre dans la bibliothèque de webapp est la mauvaise solution. Vous devriez les référencer dans classpath pendant la compilation, i.e. javac -cp /path/to/server/lib/servlet.jar
et ainsi de suite, ou si vous utilisez un IDE, vous devriez intégrer le serveur dans L'IDE et associer le projet web au serveur. L'IDE prendra alors automatiquement les bibliothèques spécifiques au serveur dans classpath ( buildpath ) du projet webapp.
j'ai trouvé que suivre ces instructions aidait à trouver ce qu'était le problème. Pour moi, c'était le tueur, ne sachant pas ce qui était cassé.
citant le lien
dans Tomcat 6 ou supérieur, le logger par défaut est le" java.util."connexion de l'enregistreur de et pas Log4J. Donc si vous essayez d'ajouter un "log4j.propriétés " fichier – cela ne fonctionnera pas. Le Java utils logger recherche un fichier appelé "logging.propriétés" comme indiqué ici: http://tomcat.apache.org/tomcat-6.0-doc/logging.html
pour accéder aux détails du débogage, créez un "logging"."propriétés de fichier dans votre"/WEB-INF/classes" dossier de votre GUERRE, et vous êtes tous ensemble.
et maintenant quand vous redémarrez votre Tomcat, vous verra tout votre débogage dans la pleine gloire!!!
Exemple de l'exploitation forestière.fichier de propriétés:
org.apache.catalina.core.ContainerBase.[Catalina].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].handlers = java.util.logging.ConsoleHandler
j'ai rencontré cette erreur lorsque le JDK sous lequel j'ai compilé l'application était différent de la JVM tomcat. J'ai vérifié que Tomcat manager exécutait jvm 1.6.0 mais que l'application était compilée sous java 1.7.0.
après avoir mis à jour Java et modifié JAVA_HOME dans notre script de démarrage (/etc/init.d/tomcat), l'erreur a disparu.
a répondu fourni par Tom Saleeba est très utile. Aujourd'hui j'ai aussi lutté avec la même erreur
Apr 28, 2015 7:53: 27 PM org.Apache.Catalina.core.Uncontexte standarddébutantà l'intérieur Grave: erreur listenerStart
j'ai suivi la suggestion et j'ai ajouté la journalisation.fichier de propriétés. Et voici ma raison de l'échec:
de java.lang.IllegalStateException: impossible de configurer l'application web système racinaire biens lorsque le dossier de guerre n'est pas élargi
la cause profonde du problème était un auditeur (Log4jConfigListener) que j'ai ajouté dans le web.XML. Et selon le lien grave: Exception org.springframework.Web.util.Log4jConfigListener , cet auditeur ne peut pas être ajouté dans une guerre qui n'est pas étendue.
il peut être utile pour quelqu'un de savoir que cela se passait sur L'équipement OpenShift JBoss.