web-dev-qa-db-fra.com

SEVERE: ContainerBase.addChild: start: org.Apache.catalina.LifecycleException: impossible de démarrer l'erreur

J'ai rencontré cette erreur lorsque j'ai essayé d'exécuter mon application dans Tomcat ..__ J'ai déjà vérifié la version de Tomcat et Java Home Les deux utilisent Java 6.

Y at-il un pot manquant? Ou est-ce mon web xml? Je n'utilise aucun outil Maven. 

SEVERE: ContainerBase.addChild: start: 
org.Apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/ICard]]
    at org.Apache.catalina.util.LifecycleBase.start(LifecycleBase.Java:154)
    at org.Apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.Java:901)
    at org.Apache.catalina.core.ContainerBase.addChild(ContainerBase.Java:877)
    at org.Apache.catalina.core.StandardHost.addChild(StandardHost.Java:618)
    at org.Apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.Java:650)
    at org.Apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.Java:1582)
    at Java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    at Java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
    at Java.util.concurrent.FutureTask.run(Unknown Source)
    at Java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
    at Java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at Java.lang.Thread.run(Unknown Source)
Caused by: Java.lang.NoClassDefFoundError: javax/xml/rpc/handler/soap/SOAPMessageContext
    at Java.lang.ClassLoader.defineClass1(Native Method)
    at Java.lang.ClassLoader.defineClassCond(Unknown Source)
    at Java.lang.ClassLoader.defineClass(Unknown Source)
    at Java.security.SecureClassLoader.defineClass(Unknown Source)
    at org.Apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.Java:2904)
    at org.Apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.Java:1173)
    at org.Apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.Java:1681)
    at org.Apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.Java:1559)
    at Java.lang.Class.getDeclaredMethods0(Native Method)
    at Java.lang.Class.privateGetDeclaredMethods(Unknown Source)
    at Java.lang.Class.getDeclaredMethods(Unknown Source)
    at org.Apache.catalina.util.Introspection.getDeclaredMethods(Introspection.Java:108)
    at org.Apache.catalina.startup.WebAnnotationSet.loadMethodsAnnotation(WebAnnotationSet.Java:279)
    at org.Apache.catalina.startup.WebAnnotationSet.loadApplicationServletAnnotations(WebAnnotationSet.Java:141)
    at org.Apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.Java:67)
    at org.Apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.Java:405)
    at org.Apache.catalina.startup.ContextConfig.configureStart(ContextConfig.Java:881)
    at org.Apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.Java:369)
    at org.Apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.Java:119)
    at org.Apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.Java:90)
    at org.Apache.catalina.core.StandardContext.startInternal(StandardContext.Java:5173)
    at org.Apache.catalina.util.LifecycleBase.start(LifecycleBase.Java:150)
    ... 11 more
Caused by: Java.lang.ClassNotFoundException: javax.xml.rpc.handler.soap.SOAPMessageContext
    at org.Apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.Java:1714)
    at org.Apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.Java:1559)
    ... 33 more
Jan 10, 2014 4:05:06 PM org.Apache.catalina.startup.HostConfig deployDescriptor
SEVERE: Error deploying configuration descriptor F:\RCBC\workspace\.metadata\.plugins\org.Eclipse.wst.server.core\tmp1\conf\Catalina\localhost\ICard.xml
Java.lang.IllegalStateException: ContainerBase.addChild: start: org.Apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/ICard]]
    at org.Apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.Java:904)
    at org.Apache.catalina.core.ContainerBase.addChild(ContainerBase.Java:877)
    at org.Apache.catalina.core.StandardHost.addChild(StandardHost.Java:618)
    at org.Apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.Java:650)
    at org.Apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.Java:1582)
    at Java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    at Java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
    at Java.util.concurrent.FutureTask.run(Unknown Source)
    at Java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
    at Java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at Java.lang.Thread.run(Unknown Source)
Jan 10, 2014 4:05:06 PM org.Apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8100"]
Jan 10, 2014 4:05:06 PM org.Apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jan 10, 2014 4:05:06 PM org.Apache.catalina.startup.Catalina start
INFO: Server startup in 4003 ms
30
james goooseling

Vous avez la solution à ce problème .... Wooo 

  1. Assurez-vous que le serveur d’applications (Tomcat, etc.) utilise la même version d’exécution Java que celle utilisée par votre application Java.

  2. Assurez-vous que votre chemin d’utilisation jre ne soit pas un chemin jdk pour les environnements d’exécution.

  3. Assurez-vous que lors de la création d'un projet, sélectionnez les versions d'exécution du serveur appropriées.

16
james goooseling

Ce problème se pose pour différentes raisons. Cela risque de se produire si vous utilisez un fichier war construit avec le démarrage du printemps. Tomcat étant intégrée aux projets Web d'amorçage Spring et Rest, les projets de démarrage des activités reposent donc avec "SEVERE: ContainerBase.addChild: start: org.Apache.catalina.LifecycleException".

Vous pouvez résoudre ce problème en excluant le Tomcat intégré au moment de l’emballage en utilisant exclusions en cas de conflit.

La dépendance de Maven de "spring-boot-starter-web" ressemblera à 

   <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <exclusions>
            <exclusion>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-Tomcat</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
13
nkharche

Selon moi, cela se produirait s'il y avait deux classes fautives du même nom mais avec une version différente. Cela se produit généralement en raison de servlet-api.jar . S'il est présent dans le dossier lib de votre guerre, supprimez-le à l'aide de l'outil utilisé pour construire la guerre. Ou en cas de conflit, ajoutez la dépendance avec la portée spécifiée comme "fournie". Cela résoudra le problème de la compilation et, au moment de l’exécution, fera référence au fichier jar fourni par l’environnement du serveur. Les utilisateurs configurent la dépendance de la manière suivante:

<dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.0.1</version>
        <scope>provided</scope>
</dependency>
10
Mahesh C.

Liste des paramètres: SOAPMessageContext NoClassDefFoundError Une erreur est survenue au début de la session, puis cliquez sur OK.

в идее

  1. ctrl+shift+alt+S"Библиотеки", найдите отсутствующий класс.
  2. отредактируйте локальный конфиг Maven.

.m2/repository/ваш отсутствующий класс (например, регистрация общего доступа) /.../ maven-maven-central.xml

<?xml version="1.0" encoding="UTF-8"?>
<metadata modelVersion="1.1.0">
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<versioning>
<latest>1.2</latest>
<release>1.2</release>
<versions>
  <version>1.0</version>
  <version>1.0.1</version>
  <version>1.0.2</version>
  <version>1.0.3</version>
  <version>1.0.4</version>
  <version>1.1</version>
  <version>1.1.1</version>
  <version>1.1.2</version>
  <version>1.1.3</version>
  <version>1.2</version>
</versions>
<lastUpdated>20140709195742</lastUpdated>
</versioning>
</metadata>


<latest>your need absend class version and useful</latest>

cliquez ici pour afficher toutes les informations concernant la configuration de métadonnées-central.xml 'dans votre ordinateur portable.

прости мой китайский английский :)

2
fonxian

Mon problème était que j'avais @WebServlet("/route") et le même servlet déclaré dans web.xml 

2
Kronen

La cause de cette erreur dans mon cas était d'avoir deux méthodes @GET avec le même chemin dans une seule ressource. Changer le @Path d'une des méthodes l'a résolu pour moi.

2
gabrielkerekes

Je ne sais pas ce qui s'est passé dans votre cas qui a résolu le problème, mais votre problème concernait cette ligne:

Caused by: Java.lang.NoClassDefFoundError: javax/xml/rpc/handler/soap/SOAPMessageContext

Vous devez ajouter jaxrpc-api.jar à votre /libs ou ajouter

<dependency>
    <groupId>javax.xml</groupId>
    <artifactId>jaxrpc-api</artifactId>
    <version>x.x.x</version>
</dependency>

à vos dépendances maven.

0
Nielsvh

Dans mon cas, le nom du servlet défini dans le fichier web.xml n'était pas identique au nom du sevlet dans la balise de mappage du servlet. J'ai corrigé ceci et le WAR a été déployé avec succès.

0
charlie

J'ai eu la même déclaration d'erreur à la suite d'un message d'erreur "Échec d'accès à la ressource":

Commande

#cat callflow-Java-logger-1.log.0

Sortie

Dec 09, 2015 8:09:03 AM org.Apache.catalina.loader.WebappLoader startInternal
SEVERE: LifecycleException 
Java.io.IOException: Failed to access resource /WEB-INF/lib/ojdbc14.jar

Dans mon cas, la solution consistait à modifier les autorisations du connecteur

-rw------- 1 owner creator size date ojdbc14.jar

Ce fichier en question ne se trouvait pas initialement dans/WEB-INF/lib, probablement à cause du fonctionnement de BIRT. Cela peut être délicat si vous avez affaire à un plus grand nombre de fichiers.

0
Alan

Erreur étrange, vous pouvez essayer les méthodes données par James Goooseling et je l’ai aussi fait en suivant les méthodes suivantes: 

  • Supprimez tous les fichiers jars ou bibliothèques des dossiers de construction et des dossiers lib, puis ajoutez-les à nouveau dans le dossier lib ou le chemin de construction à votre guise.

  • Vérifiez si vous avez l'annotation de servlet @WebServlet pour un servlet donné et s'il existe également un mappage dans le fichier web.xml. Il s'agit de l'erreur la plus courante car Tomcat est confus, quel type d'URL doit être utilisé.

0
swapyonubuntu

Dans mon cas (projet Spring MVC + Hibernate), j’ai ajouté Controller, Service, Dao, Model class & Thyme leaf page. Juste n'a pas mappé la nouvelle classe de modèle dans le fichier "hibernate.cfg.xml". Donc, cela a cette erreur. Mais après le mappage de la nouvelle classe de modèle, l'erreur est à nouveau générée. Puis supprimé Controller, Service, Dao, Classe de modèle. Feuille de thym et Créé récemment. Également mappé la nouvelle classe de modèle. Alors l'erreur est partie.

0
Atequer Rahman

Ce qui m'a aidé a été de supprimer mon dossier cible et de recompiler mon projet. Ce problème m'est survenu lorsque j'ai utilisé un deuxième serveur pour mes tests nécessitant l'exécution d'un serveur. Conclusion: supprimez votre fichier cible lorsque vous apportez de gros changements au fichier war.

0
Jik Huijberts

mon problème était avec l'annotation @WebServelet et c'était parce que le nom avait été répété, j'avais deux de @WebServlet("/route")dans mon code par erreur (j'ai copié et collé et oublié de changer le nom de la route)

0
Iman Mirzadeh

Veuillez vérifier vos fichiers .project et .classpath. Vérifiez la version de Java et les autres détails requis. Si ceux-ci sont manquants ou mal appariés 

0
Atul

En plus de toutes les autres choses, cela m’était arrivé parce que j’activais NewRelic dans mon setenv.sh:

NR_JAR=/opt/newrelic/newrelic.jar; export NR_JAR

Une fois que j'ai commenté cela, en supprimant les crochets de newrelic, le problème a disparu. Cela ne se produisait que pour les systèmes d'extrémité utilisant Apache CXF.

0
Amalgovinus

quand on travaille avec Spring Boot, le problème est que la bibliothèque Tomcat doit être configurée pour

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-Tomcat</artifactId>
    <scope>provided</scope>
</dependency>
0
gischy