Je viens de recevoir Tomcat 7.0.27. J'ai gardé le temps de démarrer Tomcat 45sec. En outre, il fonctionnait bien avec l'ancienne version sur Tomcat. mais en l'exécutant j'obtiens l'erreur suivante:
SEVERE: A child container failed during start
Java.util.concurrent.ExecutionException: org.Apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/VotingApp]]
at Java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.Java:222)
at Java.util.concurrent.FutureTask.get(FutureTask.Java:83)
at org.Apache.catalina.core.ContainerBase.startInternal(ContainerBase.Java:1128)
at org.Apache.catalina.core.StandardHost.startInternal(StandardHost.Java:782)
at org.Apache.catalina.util.LifecycleBase.start(LifecycleBase.Java:150)
at org.Apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.Java:1566)
at org.Apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.Java:1556)
at Java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.Java:303)
at Java.util.concurrent.FutureTask.run(FutureTask.Java:138)
at Java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.Java:886)
at Java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.Java:908)
at Java.lang.Thread.run(Thread.Java:680)
Caused by: org.Apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/VotingApp]]
at org.Apache.catalina.util.LifecycleBase.start(LifecycleBase.Java:154)
... 7 more
Caused by: Java.lang.NoClassDefFoundError: HttpServletRequest
at Java.lang.Class.getDeclaredMethods0(Native Method)
at Java.lang.Class.privateGetDeclaredMethods(Class.Java:2427)
at Java.lang.Class.getDeclaredMethods(Class.Java:1791)
at org.Apache.catalina.startup.WebAnnotationSet.getDeclaredMethods(WebAnnotationSet.Java:470)
at org.Apache.catalina.startup.WebAnnotationSet.loadMethodsAnnotation(WebAnnotationSet.Java:275)
at org.Apache.catalina.startup.WebAnnotationSet.loadApplicationServletAnnotations(WebAnnotationSet.Java:137)
at org.Apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.Java:66)
at org.Apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.Java:381)
at org.Apache.catalina.startup.ContextConfig.configureStart(ContextConfig.Java:858)
at org.Apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.Java:345)
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:5161)
at org.Apache.catalina.util.LifecycleBase.start(LifecycleBase.Java:150)
... 7 more
Caused by: Java.lang.ClassNotFoundException: HttpServletRequest
at org.Apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.Java:1711)
at org.Apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.Java:1556)
... 21 more
May 11, 2012 10:09:21 AM org.Apache.catalina.core.ContainerBase startInternal
SEVERE: A child container failed during start
Java.util.concurrent.ExecutionException: org.Apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]
at Java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.Java:222)
at Java.util.concurrent.FutureTask.get(FutureTask.Java:83)
at org.Apache.catalina.core.ContainerBase.startInternal(ContainerBase.Java:1128)
at org.Apache.catalina.core.StandardEngine.startInternal(StandardEngine.Java:302)
at org.Apache.catalina.util.LifecycleBase.start(LifecycleBase.Java:150)
at org.Apache.catalina.core.StandardService.startInternal(StandardService.Java:443)
at org.Apache.catalina.util.LifecycleBase.start(LifecycleBase.Java:150)
at org.Apache.catalina.core.StandardServer.startInternal(StandardServer.Java:732)
at org.Apache.catalina.util.LifecycleBase.start(LifecycleBase.Java:150)
at org.Apache.catalina.startup.Catalina.start(Catalina.Java:675)
at Sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at Sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.Java:39)
at Sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:25)
at Java.lang.reflect.Method.invoke(Method.Java:597)
at org.Apache.catalina.startup.Bootstrap.start(Bootstrap.Java:322)
at org.Apache.catalina.startup.Bootstrap.main(Bootstrap.Java:450)
Caused by: org.Apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]
at org.Apache.catalina.util.LifecycleBase.start(LifecycleBase.Java:154)
at org.Apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.Java:1566)
at org.Apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.Java:1556)
at Java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.Java:303)
at Java.util.concurrent.FutureTask.run(FutureTask.Java:138)
at Java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.Java:886)
at Java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.Java:908)
at Java.lang.Thread.run(Thread.Java:680)
Caused by: org.Apache.catalina.LifecycleException: A child container failed during start
at org.Apache.catalina.core.ContainerBase.startInternal(ContainerBase.Java:1136)
at org.Apache.catalina.core.StandardHost.startInternal(StandardHost.Java:782)
at org.Apache.catalina.util.LifecycleBase.start(LifecycleBase.Java:150)
... 7 more
May 11, 2012 10:09:21 AM org.Apache.catalina.startup.Catalina start
SEVERE: Catalina.start:
org.Apache.catalina.LifecycleException: Failed to start component [StandardServer[8005]]
at org.Apache.catalina.util.LifecycleBase.start(LifecycleBase.Java:154)
at org.Apache.catalina.startup.Catalina.start(Catalina.Java:675)
at Sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at Sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.Java:39)
at Sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:25)
at Java.lang.reflect.Method.invoke(Method.Java:597)
at org.Apache.catalina.startup.Bootstrap.start(Bootstrap.Java:322)
at org.Apache.catalina.startup.Bootstrap.main(Bootstrap.Java:450)
Caused by: org.Apache.catalina.LifecycleException: Failed to start component [StandardService[Catalina]]
at org.Apache.catalina.util.LifecycleBase.start(LifecycleBase.Java:154)
at org.Apache.catalina.core.StandardServer.startInternal(StandardServer.Java:732)
at org.Apache.catalina.util.LifecycleBase.start(LifecycleBase.Java:150)
... 7 more
Caused by: org.Apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina]]
at org.Apache.catalina.util.LifecycleBase.start(LifecycleBase.Java:154)
at org.Apache.catalina.core.StandardService.startInternal(StandardService.Java:443)
at org.Apache.catalina.util.LifecycleBase.start(LifecycleBase.Java:150)
... 9 more
Caused by: org.Apache.catalina.LifecycleException: A child container failed during start
at org.Apache.catalina.core.ContainerBase.startInternal(ContainerBase.Java:1136)
at org.Apache.catalina.core.StandardEngine.startInternal(StandardEngine.Java:302)
at org.Apache.catalina.util.LifecycleBase.start(LifecycleBase.Java:150)
... 11 more
May 11, 2012 10:09:21 AM org.Apache.catalina.startup.Catalina start
INFO: Server startup in 561 ms
Comment puis-je résoudre l'erreur. J'ai examiné des articles similaires mais ne l'ai pas trouvé utile.
Votre application Web possède des bibliothèques spécifiques à servletcontainer, telles que le fichier servlet-api.jar
dans son /WEB-INF/lib
. Ceci est pas correct. Retirez-les tous. Le /WEB-INF/lib
doit contenir uniquement les bibliothèques spécifiques à la webapp, pas au servletcontainer. Le servletcontainer (comme Tomcat) est celui qui devrait déjà fournir les bibliothèques spécifiques à servletcontainer. Si vous fournissez des bibliothèques à partir d'un conteneur servlet quelconque d'une marque/version différente, vous rencontrerez ce type de problèmes car votre application Web ne pourrait pas s'exécuter sur un conteneur servlet d'une marque/version différente de celle d'où proviennent ces bibliothèques .
Il s’agit d’une erreur assez courante des démarreurs lorsqu’ils rencontrent des erreurs de compilation parce qu’ils n’ont pas configuré leur droit de projet IDE. Voir aussi Comment importer l'API javax.servlet dans mon projet Eclipse?
Caused by: Java.lang.NoClassDefFoundError: HttpServletRequest
Le problème ci-dessus peut être dû au fait que la bibliothèque javax
est introuvable.
J'ai résolu le même problème avec:
Faites un clic droit sur le projet dans Eclipse → Properties
→ Java Build Path
→ Libraries
→ Add library...
→ Server Runtime
→ Apache Tomcat
Je n'avais pas de servlet-api.jar dans le répertoire WEB-INF/lib de l'application (ni dans aucun autre fichier jar de ce fichier). Le problème était que dans WEB-INF/web.xml j'avais ceci ...
...
<servlet>
<servlet-name>MyServlet</servlet-name>
<servlet-class>com.bizooka.net.MyServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>/MyServlet</url-pattern>
</servlet-mapping>
...
... selon un tutoriel. En supprimant cela, le servlet était toujours en mesure de fonctionner et l'erreur n'était pas générée.
ajoutez ce qui suit dans votre pom.xml .it fonctionne pour moi.
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
</dependency>
J'ai le même problème lorsque j'essayais avec le premier Springapp MVC webapp. Ce que j’avais fait a été téléchargé les fichiers jar fournis à partir du lien (cadre de téléchargement du ressort) Parmi les fichiers jar du dossier extrait de Zip, les fichiers jar que je devais utiliser étaient:
org.springframework.asm-3.0.1.RELEASE-A.jar
org.springframework.beans-3.0.1.RELEASE-A.jar
org.springframework.context-3.0.1.RELEASE-A.jar
org.springframework.core-3.0.1.RELEASE-A.jar
org.springframework.expression-3.0.1.RELEASE-A.jar
org.springframework.web.servlet-3.0.1.RELEASE-A.jar
org.springframework.web-3.0.1.RELEASE-A.jar
Mais au fur et à mesure que j'obtenais l'erreur en cherchant une solution, j'ai compris que j'avais aussi besoin du bocal suivant.
commons-logging-1.0.4.jar
jstl-1.2.jar
Ensuite, j'ai recherché et téléchargé les deux fichiers jar séparément et les ai inclus dans le dossier / WEB-INF/lib. Et enfin, j'ai pu faire fonctionner mon application Web à l'aide du serveur Tomcat. :)
Merci les gars . Tout ce qui précède a échoué sauf celui qui a supprimé tout le contenu du fichier C:\Users\debasish\workspace\.metadata\.plugins\org.Eclipse.wst.server.core
, puis créé à nouveau le serveur.
Mais supprimez d'abord le serveur avant de supprimer le contenu de ce fichier.
vous devez ajouter le fichier servlet-api.jar dans le dossier WEB-INF/lib
Je viens de supprimer la déclaration de la servlet dans le fichier web.xml et cela fonctionne pour moi.
Bonne chance
La même erreur que j'ai
Caused by: org.Apache.catalina.LifecycleException: A child container failed during start
J'ai supprimé le projet de l'espace de travail Eclipse, supprimé le dossier .settings du projet et importé de nouveau dans Eclipse .
Celui-ci est destiné à tous les utilisateurs Maven, utilisant leurs dépendances pour le chemin de classe et ne les copiant pas dans /WEB-INF/lib:just, ajoutez ceci (ce qui copie les bibliothèques de dépendances) avant </plugin>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<phase>process-sources</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>WebContent/WEB-INF/lib</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
J'ai eu le même problème, et la cause était l'absence de commons-logging-1.2.jar
Je l'ajoute au dossier lib
, puis mon serveur Apache Tomcat 7 s'exécute sans problème.