Sévère: ContainerBase.addChild: date de début:org.Apache.Catalina.LifecycleException: n'a pas pu démarrer erreur

j'ai rencontré cette erreur quand 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.

il manque un pot? Ou est-ce mon xml web? 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:RCBCworkspace.metadata.pluginsorg.eclipse.wst.server.coretmp1confCatalinalocalhostICard.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
24
demandé sur ROMANIA_engineer 2014-01-10 12:09:43

15 réponses

ont la solution pour ce problème.... Wooo

  1. assurez-vous que le serveur D'application (Tomcat etc.) utilise la même version java runtime que celle utilisée par votre application java.

  2. assurez-vous que votre chemin JRE n'est pas le chemin jdk pour les environnements runtime

  3. assurez-vous lors de la création d'un projet de sélectionner les versions d'exécution de serveur appropriées.

14
répondu james goooseling 2014-01-24 11:17:54

cette question se pose pour des raisons différentes. Il peut se produire si vous utilisez le fichier war construit par botte de printemps. Comme les jars de démarrage de web et de restarters ont intégré Tomcat dedans, échoue donc avec " SEVERE: ContainerBase.addChild: date de début: org.Apache.Catalina.LifecycleException".

Vous pouvez corriger cela en excluant le tomcat intégré au moment de l'empaquetage en utilisant exclusions en cas de maven.

Maven dépendance 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>
12
répondu nkharche 2016-04-07 05:09:54

selon moi, cela se produirait s'il y avait deux classes offensantes du même nom mais avec une version différente. Habituellement, cela se produit à cause de servlet-api.pot. Si son présent dans le dossier lib de votre guerre, alors pls l'enlèvent en utilisant n'importe quel outil utilisé pour construire la guerre. Ou dans le cas de maven, ajouter la dépendance avec la portée spécifiée comme "fournie". Cela résoudra le problème de compilation et à l'exécution, il se référera au jar fourni par l'environnement du serveur. Pls configurer la dépendance suivre:

<dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.0.1</version>
        <scope>provided</scope>
</dependency>
9
répondu Mahesh C. 2015-06-10 12:31:06

ce qui a causé cette erreur dans mon cas était d'avoir deux méthodes @GET avec le même chemin dans une seule ressource. Changer le @chemin d'une des méthodes résolu pour moi.

2
répondu gabrielkerekes 2016-05-01 08:14:44

raison Principale:SOAPMessageContext NoClassDefFoundError Vous devez donc importer cette classe ou ce pot

IDÉE

  1. ctrl+maj+ alt+ S e"bibliothèques", trouver la classe absente.
  2. éditer la configuration Maven locale.

.m2 / Dépôt / votre classe absente (par exemple commons-logging)/.../maven-métadonnées-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>

parce que Maven trouvera les métadonnées-central.xml' config dernière version du projet d'utilisation de la version.

pardonnez mon chinois anglais:)

1
répondu fonxian 2016-12-16 04:01:16

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

1
répondu Kronen 2017-05-30 23:13:27

s'il vous Plaît vérifier votre .projet de et de .classpath fichiers. Vérifier la version java et les autres détails requis. Si ceux-ci et manquant ou mal appariés

0
répondu Atul 2015-06-12 11:49:49

Je ne suis pas sûr de ce qui s'est passé dans votre cas qui a réglé le problème, mais votre problème était sur cette ligne:

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

Vous devez ajouter s ou ajouter

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

pour vos dépendances maven.

0
répondu Nielsvh 2015-07-16 18:31:00

j'avais la même erreur après un "impossible d'accéder à la ressource" message d'erreur:

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 était de changer les permissions du connecteur

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

ce fichier n'a pas été localisé initialement dans /WEB-INF/lib, ce qui est probablement dû au fonctionnement de BIRT. Il peut être délicat si vous avez affaire à un nombre plus élevé de fichier.

0
répondu Alan 2015-12-09 09:24:22

Bizarre d'erreur, vous pouvez essayer les méthodes donné par james goooseling et j'ai également fait par les moyens suivants:

  • supprimez tous les jars ou bibliothèques des répertoires build path et lib et ajoutez-les à nouveau dans lib folder ou build path comme vous le souhaitez.

  • vérifiez si vous avez l'annotation de servlet @WebServlet pour un servlet donné et s'il y a un mapping dans le web.xml aussi .. c'est l'erreur la plus commune en raison de laquelle tomcat se confond , que ce que le modèle d'url doit il l'utiliser.

0
répondu swapyonubuntu 2016-01-13 10:39:10

dans mon cas le nom de servlet défini dans le web.xml n'était pas le même que le nom sevlet dans la balise de mappage servlet. J'ai corrigé cela et la guerre a été déployée avec succès.

0
répondu Vishnu TS 2016-09-11 04:54:57

mon problème était avec @WebServelet annotation et c'était à cause du nom qui a été répété, j'ai eu deux de @WebServlet("/route") dans mon code par erreur (j'ai copié et collé et oublié de changer le nom de la route)

0
répondu Iman Mirzadeh 2017-05-10 22:26:14

dans mon cas (MVC de printemps + projet D'hibernation), j'ai ajouté contrôleur, Service, Dao, classe de Modèle et page de feuilles de thym. Je n'ai pas cartographié la classe de nouveau modèle dans hibernate.cfg.xml fichier. Alors que eu cette erreur. Mais après mapping nouvelle classe de modèle a de nouveau obtenu l'erreur. Puis supprimé contrôleur, Service, Dao, Classe modèle. Page de feuilles de thym et créé récemment. Aussi mappé nouvelle classe de modèle. Ensuite, l'erreur a disparu.

0
répondu Atequer Rahman 2018-02-11 08:19:17

en plus de toutes les autres choses, pour moi cela se passait parce que J'activais NewRelic dans mon setenv.sh:

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

Une fois que j'ai commenté ceci, en enlevant les crochets de newrelic, le problème a disparu. Cela ne se produisait que pour les paramètres utilisant apache CXF.

0
répondu Amalgovinus 2018-02-21 21:18:47

lorsque vous travaillez avec spring boot, le problème est que la bibliothèque tomcat doit définir

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    <scope>provided</scope>
</dependency>
0
répondu gischy 2018-03-20 13:56:08