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.

31
demandé sur Ahmed Ashour 2010-04-15 01:55:36

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.

32
répondu BalusC 2013-08-16 10:48:15

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é.

http://mythinkpond.wordpress.com/2011/07/01/tomcat-6-infamous-severe-error-listenerstart-message-how-to-debug-this-error /

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
62
répondu Tom Saleeba 2015-03-05 04:40:03

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.

9
répondu Colin D 2015-04-06 18:29:28

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.

1
répondu Agry 2017-05-23 12:34:44