Lorsque je lance Tomcat, le message d'erreur suivant s'affiche:
Jun 10, 2010 5:17:25 PM org.Apache.catalina.core.StandardContext start
SEVERE: Error filterStart
Jun 10, 2010 5:17:25 PM org.Apache.catalina.core.StandardContext start
SEVERE: Context [/mywebapplication] startup failed due to previous errors
Il semble étrange que les journaux de Tomcat n'incluent pas de trace de pile. Quelqu'un a-t-il une suggestion pour augmenter la journalisation dans Tomcat afin d'obtenir des traces de pile pour des erreurs de ce type?
Vérifier la localhost_yyyy_mm_dd.log
OR localhost.yyyy-mm-dd.log
_ journaux créés par Tomcat, ils stockent généralement ce type d’informations. Je ne m'attendrais pas à ce que tout le stacktrace soit vidé au format standard.
créez un fichier nommé logging.properties dans WEB-INF/classes avec le contenu suivant:
org.Apache.catalina.core.ContainerBase.[Catalina].level = INFO
org.Apache.catalina.core.ContainerBase.[Catalina].handlers = Java.util.logging.ConsoleHandler
Tomcat enregistre le stacktrace, mais il n'est pas toujours clair où se trouvent les fichiers journaux, lorsque Tomcat est démarré à partir d'un IDE. Quand je le lance à partir d'IntelliJ, CATALINA_BASE
est réglé sur ${home}/.IntelliJIdea10/system/Tomcat/Unnamed_r6-idea
, et les fichiers journaux sont dans [CATALINA_BASE]/logs
.
Pour voir les journaux, localisez les fichiers journaux ou modifiez [CATALINA_HOME]/conf/logging.properties
pour diriger la sortie du consignateur Tomcat vers la console. Ci-dessous, j'ai ajouté un deuxième gestionnaire à la configuration par défaut de Tomcat:
org.Apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO
org.Apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = 2localhost.org.Apache.juli.FileHandler, Java.util.logging.ConsoleHandler
Maintenant, le stacktrace complet apparaît dans la sortie IntelliJ:
Dec 27, 2011 12:02:45 PM org.Apache.catalina.core.StandardContext filterStart
SEVERE: Exception starting filter filterChainProxy
org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'filterChainProxy' is defined at
org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.Java:529)
. . .
vous devez copier les fichiers
cp /path/to/solr/example/lib/ext/* /path/to/Tomcat/lib
cp /path/to/solr/example/resources/* /path/to/Tomcat/lib // or inside extracted solr
et puis redémarrer Tomcat
Peut-être que votre application est compilée avec un JRE différent de Tomcat.
Vérifier Java -version
sur votre serveur, puis compilez votre code avec la même version. J'ai eu l'erreur parce que mon JRE standard Eclipse était de 1,6 et que Tomcat en utilisait 1,5 - cela ne peut pas fonctionner.
Il y a généralement une information sur le problème dans localhost. [Date] .log. Mais parfois, il n'y a rien dans ce journal. Cela peut arriver s'il y a une mauvaise configuration du projet (plusieurs développeurs ont travaillé dessus pendant longtemps et chacun a ajouté quelque chose de lui-même). J'ai fait face à ce problème sans aucune information dans le journal. Approche assez rapide et robuste:
Essayez de supprimer tout ce qui peut causer des problèmes de web.xml. Vous pouvez même tout supprimer sauf tag. Si l'application ne peut toujours pas être déployée, continuez.
Supprimez tous les descripteurs * .xml de WEB-INF/classes. Si l'application ne peut pas être déployée, continuez.
Supprimez toute la configuration de journalisation que vous pouvez trouver dans votre war (logging.properties, log4j.properties). Essayez de déployer. A cette étape, j'ai une erreur plus informative, mais le déploiement a encore échoué.
Après avoir recherché Google pour cette erreur, j'ai découvert que ce projet incluait l'ancienne version de xerces, qui se heurtait à la version de Tomcat (qui était plus récente) et que l'application à déployer n'était pas. Après la mise à niveau de xerces dans une application Web, tout est devenu parfait.
Dans CentOS 6 et Solr 4.4.0
J'ai dû compiler des fichiers lib pour que cette erreur soit corrigée
cp ~/solr-4.4.0/example/lib/ext/* /usr/share/Tomcat6/lib/
La configuration de la journalisation log4j pour Tomcat est assez simple. Ce qui suit est cité de http://Tomcat.Apache.org/Tomcat-5.5-doc/logging.html :
Créez un fichier appelé log4j.properties avec le contenu suivant et enregistrez-le dans common/classes.
log4j.rootLogger=DEBUG, R
log4j.appender.R=org.Apache.log4j.RollingFileAppender
log4j.appender.R.File=${catalina.home}/logs/Tomcat.log
log4j.appender.R.MaxFileSize=10MB
log4j.appender.R.MaxBackupIndex=10
log4j.appender.R.layout=org.Apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
Téléchargez Log4J (version 1.2 ou ultérieure) et placez le fichier jar log4j dans $ CATALINA_HOME/common/lib.
Vous voudrez peut-être aussi jeter un œil à http://wiki.Apache.org/Tomcat/FAQ/Logging
J'ai eu le même problème, impossible de démarrer l'application une fois qu'elle est déployée dans Tomcat. Mais, une fois que je copie le jeu de fichiers Struts dans le répertoire CATALINA_HOME\lib (répertoire Tomcat), le problème est résolu. Vous n'avez pas besoin de ces fichiers dans votre WEB_INF\lib, mais vous devez les avoir dans votre chemin de construction.
commons-fileupload-1.2.1.jar
commons-io-1.3.2.jar
freemarker-2.3.16.jar
javassist-3.11.0.GA.jar
struts2-convention-plugin-2.2.1.jar
struts2-core-2.2.1.jar
xwork-core-2.2.1.jar
si quelqu'un reçoit une erreur telle que SEVERE: Erreur filterStart 29 avril 2013 4:49:20 PM org.Apache.catalina.core.StandardContext startInternal SEVERE: le démarrage du contexte [/ TraceMW] a échoué pour des raisons erreurs précédentes
alors veuillez vérifier si votre répertoire Tomcat/lib contient cors-filter-1.5.jar ou non. Si vous avez un problème, vous obtiendrez l'erreur ci-dessus et votre application ne sera pas disponible.
Donc, j'ai juste réussi à copier le fichier jar d'un autre dossier Tomcat et je n'ai pas eu l'erreur mentionnée ci-dessus plus tard.
Moi aussi j'ai eu la même erreur et j'ai eu beaucoup de mal à résoudre ce problème. J'ai passé un peu de temps silencieux à chercher sur Google et à trouver la solution suivante et mon problème a été résolu.
le problème était dû à l'absence de bibliothèques Struts2 dans le chemin de déploiement. La plupart des gens peuvent mettre les bibliothèques pour la compilation et ont tendance à oublier d'attacher les bibliothèques requises pour l'exécution. J'ai donc ajouté les mêmes bibliothèques dans l'assembly de déploiement Web et le problème était désactivé.
En règle générale, la version du serveur JDK sera inférieure à l'application déployée (construite avec une version supérieure de jdk)
J'ai eu un problème similaire. Le pourboire de Renato a fonctionné pour moi. J'ai utilisé une version plus ancienne de Java (sous le dossier WEB-INF/classes)) et le problème a disparu. Il aurait donc dû correspondre à la disparité de version du compilateur.
Je voulais juste contribuer après avoir passé la dernière heure sur un problème presque identique. Ma solution a été que nos applications .jar étaient en quelque sorte corrompues. Le fait de placer le fichier jar à partir de notre serveur de développement a donc résolu le problème.
Cela a fait le tour pour moi: il suffit de supprimer toutes les bibliothèques, puis de compiler et d’exécuter. Il serait rapide de confirmer les erreurs dans votre projet. Relancez le projet après avoir appliqué les bibliothèques.