2 votes

SÉVÈRE : Un conteneur enfant a échoué lors du démarrage java.util.concurrent.ExecutionException : org.apache.catalina.LifecycleException

Je suis nouveau dans Eclipse, Tomcat et le développement de services web. J'essaie juste d'apprendre les bases. Mais, malheureusement, je suis tombé sur un problème que je ne suis pas en mesure de résoudre même après avoir suivi les instructions des différents liens sur Internet. J'ai essayé les approches suivantes :

PS :

  • J'utilise Eclipse Neon avec apache-tomcat-8.0.36
  • J'ai créé un exemple basique de HelloWorld pour vérifier si ce projet fonctionne sur le serveur, et cela fonctionne parfaitement avec le même serveur.
  • Le problème commence dès que j'ajoute les fichiers jar de jaxrs (de jaxrs-ri/api et jaxrs-ri/lib) au projet WEB-INF/lib et que j'essaie de l'exécuter en tant que -> run on server à partir d'Eclipse.
  • J'ai essayé de faire de même en convertissant le projet en projet maven, mais le même problème persiste.

De plus, j'affiche l'erreur en exécutant le projet sur le serveur :

> 
> Jul 25, 2016 6:27:32 PM
> org.apache.tomcat.util.digester.SetPropertiesRule begin WARNING:
> [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting
> property 'source' to 'org.eclipse.jst.jee.server:RESTJerseyExample'
> did not find a matching property. Jul 25, 2016 6:27:32 PM
> org.apache.catalina.startup.VersionLoggerListener log INFO: Server
> version:        Apache Tomcat/8.0.36 Jul 25, 2016 6:27:32 PM
> org.apache.catalina.startup.VersionLoggerListener log INFO: Server
> built:          Jun 9 2016 13:55:50 UTC Jul 25, 2016 6:27:32 PM
> org.apache.catalina.startup.VersionLoggerListener log INFO: Server
> number:         8.0.36.0 Jul 25, 2016 6:27:32 PM
> org.apache.catalina.startup.VersionLoggerListener log INFO: OS Name:  
> Mac OS X Jul 25, 2016 6:27:32 PM
> org.apache.catalina.startup.VersionLoggerListener log INFO: OS
> Version:            10.11.5 Jul 25, 2016 6:27:32 PM
> org.apache.catalina.startup.VersionLoggerListener log INFO:
> Architecture:          x86_64 Jul 25, 2016 6:27:32 PM
> org.apache.catalina.startup.VersionLoggerListener log INFO: Java Home:
> /Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home/jre
> Jul 25, 2016 6:27:32 PM
> org.apache.catalina.startup.VersionLoggerListener log INFO: JVM
> Version:           1.8.0_92-b14 Jul 25, 2016 6:27:32 PM
> org.apache.catalina.startup.VersionLoggerListener log INFO: JVM
> Vendor:            Oracle Corporation Jul 25, 2016 6:27:32 PM
> org.apache.catalina.startup.VersionLoggerListener log INFO:
> CATALINA_BASE:        
> /Users/easiembedded/Documents/workspace/Eclipse/.metadata/.plugins/org.eclipse.wst.server.core/tmp0
> Jul 25, 2016 6:27:32 PM
> org.apache.catalina.startup.VersionLoggerListener log INFO:
> CATALINA_HOME:         /usr/local/apache-tomcat-8.0.36 Jul 25, 2016
> 6:27:32 PM org.apache.catalina.startup.VersionLoggerListener log INFO:
> Command line argument:
> -Dcatalina.base=/Users/easiembedded/Documents/workspace/Eclipse/.metadata/.plugins/org.eclipse.wst.server.core/tmp0
> Jul 25, 2016 6:27:32 PM
> org.apache.catalina.startup.VersionLoggerListener log INFO: Command
> line argument: -Dcatalina.home=/usr/local/apache-tomcat-8.0.36 Jul 25,
> 2016 6:27:32 PM org.apache.catalina.startup.VersionLoggerListener log
> INFO: Command line argument:
> -Dwtp.deploy=/Users/easiembedded/Documents/workspace/Eclipse/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps
> Jul 25, 2016 6:27:32 PM
> org.apache.catalina.startup.VersionLoggerListener log INFO: Command
> line argument:
> -Djava.endorsed.dirs=/usr/local/apache-tomcat-8.0.36/endorsed Jul 25, 2016 6:27:32 PM org.apache.catalina.startup.VersionLoggerListener log
> INFO: Command line argument: -Dfile.encoding=UTF-8 Jul 25, 2016
> 6:27:32 PM org.apache.catalina.core.AprLifecycleListener
> lifecycleEvent INFO: The APR based Apache Tomcat Native library which
> allows optimal performance in production environments was not found on
> the java.library.path:
> /Users/easiembedded/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:.
> Jul 25, 2016 6:27:32 PM org.apache.coyote.AbstractProtocol init INFO:
> Initializing ProtocolHandler ["http-nio-8080"] Jul 25, 2016 6:27:32 PM
> org.apache.tomcat.util.net.NioSelectorPool getSharedSelector INFO:
> Using a shared selector for servlet write/read Jul 25, 2016 6:27:32 PM
> org.apache.coyote.AbstractProtocol init INFO: Initializing
> ProtocolHandler ["ajp-nio-8009"] Jul 25, 2016 6:27:32 PM
> org.apache.tomcat.util.net.NioSelectorPool getSharedSelector INFO:
> Using a shared selector for servlet write/read Jul 25, 2016 6:27:32 PM
> org.apache.catalina.startup.Catalina load INFO: Initialization
> processed in 486 ms Jul 25, 2016 6:27:32 PM
> org.apache.catalina.core.StandardService startInternal INFO: Starting
> service Catalina Jul 25, 2016 6:27:32 PM
> org.apache.catalina.core.StandardEngine startInternal INFO: Starting
> Servlet Engine: Apache Tomcat/8.0.36 Jul 25, 2016 6:27:32 PM
> 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].StandardContext[/RESTJerseyExample]]
>   at java.util.concurrent.FutureTask.report(FutureTask.java:122)  at
> java.util.concurrent.FutureTask.get(FutureTask.java:192)  at
> org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:915)
>   at
> org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:871)
>   at
> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
>   at
> org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1407)
>   at
> org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1397)
>   at java.util.concurrent.FutureTask.run(FutureTask.java:266)     at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>   at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>   at java.lang.Thread.run(Thread.java:745) Caused by:
> org.apache.catalina.LifecycleException: Failed to start component
> [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/RESTJerseyExample]]
>   at
> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:153)
>   ... 6 more Caused by: org.apache.catalina.LifecycleException: Failed
> to start component
> [org.apache.catalina.webresources.StandardRoot@3aa1d912]  at
> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:153)
>   at
> org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4958)
>   at
> org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5088)
>   at
> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
>   ... 6 more Caused by: org.apache.catalina.LifecycleException: Failed
> to initialize component
> [org.apache.catalina.webresources.JarResourceSet@25268c7e]    at
> org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:106)
>   at
> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:136)
>   at
> org.apache.catalina.webresources.StandardRoot.startInternal(StandardRoot.java:699)
>   at
> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
>   ... 9 more Caused by: java.lang.IllegalArgumentException:
> java.util.zip.ZipException: invalid LOC header (bad signature)    at
> org.apache.catalina.webresources.JarResourceSet.initInternal(JarResourceSet.java:139)
>   at
> org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
>   ... 12 more Caused by: java.util.zip.ZipException: invalid LOC header
> (bad signature)   at java.util.zip.ZipFile.read(Native Method)    at
> java.util.zip.ZipFile.access$1400(ZipFile.java:60)    at
> java.util.zip.ZipFile$ZipFileInputStream.read(ZipFile.java:717)   at
> java.util.zip.ZipFile$ZipFileInflaterInputStream.fill(ZipFile.java:419)
>   at
> java.util.zip.InflaterInputStream.read(InflaterInputStream.java:158)
>   at sun.misc.IOUtils.readFully(IOUtils.java:65)  at
> java.util.jar.JarFile.getBytes(JarFile.java:425)  at
> java.util.jar.JarFile.getManifestFromReference(JarFile.java:193)  at
> java.util.jar.JarFile.getManifest(JarFile.java:180)   at
> org.apache.catalina.webresources.JarResourceSet.initInternal(JarResourceSet.java:137)
>   ... 13 more
> 
> Jul 25, 2016 6:27:32 PM 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.report(FutureTask.java:122)   at
> java.util.concurrent.FutureTask.get(FutureTask.java:192)  at
> org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:915)
>   at
> org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
>   at
> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
>   at
> org.apache.catalina.core.StandardService.startInternal(StandardService.java:441)
>   at
> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
>   at
> org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:787)
>   at
> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
>   at org.apache.catalina.startup.Catalina.start(Catalina.java:629)    at
> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)   at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>   at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>   at java.lang.reflect.Method.invoke(Method.java:498)     at
> org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:351)   at
> org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:485) Caused
> by: org.apache.catalina.LifecycleException: Failed to start component
> [StandardEngine[Catalina].StandardHost[localhost]]    at
> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:153)
>   at
> org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1407)
>   at
> org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1397)
>   at java.util.concurrent.FutureTask.run(FutureTask.java:266)     at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>   at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>   at java.lang.Thread.run(Thread.java:745) Caused by:
> org.apache.catalina.LifecycleException: A child container failed
> during start  at
> org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:923)
>   at
> org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:871)
>   at
> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
>   ... 6 more
> 
> Jul 25, 2016 6:27:32 PM org.apache.catalina.startup.Catalina start
> SEVERE: The required Server component failed to start so Tomcat is
> unable to start. org.apache.catalina.LifecycleException: Failed to
> start component [StandardServer[8005]]    at
> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:153)
>   at org.apache.catalina.startup.Catalina.start(Catalina.java:629)    at
> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)   at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>   at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>   at java.lang.reflect.Method.invoke(Method.java:498)     at
> org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:351)   at
> org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:485) Caused
> by: org.apache.catalina.LifecycleException: Failed to start component
> [StandardService[Catalina]]   at
> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:153)
>   at
> org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:787)
>   at
> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
>   ... 7 more Caused by: org.apache.catalina.LifecycleException: Failed
> to start component [StandardEngine[Catalina]]     at
> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:153)
>   at
> org.apache.catalina.core.StandardService.startInternal(StandardService.java:441)
>   at
> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
>   ... 9 more Caused by: org.apache.catalina.LifecycleException: A child
> container failed during start     at
> org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:923)
>   at
> org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
>   at
> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
>   ... 11 more
> 
> Jul 25, 2016 6:27:32 PM org.apache.coyote.AbstractProtocol pause INFO:
> Pausing ProtocolHandler ["http-nio-8080"] Jul 25, 2016 6:27:32 PM
> org.apache.coyote.AbstractProtocol pause INFO: Pausing ProtocolHandler
> ["ajp-nio-8009"] Jul 25, 2016 6:27:32 PM
> org.apache.catalina.core.StandardService stopInternal INFO: Stopping
> service Catalina Jul 25, 2016 6:27:32 PM
> org.apache.coyote.AbstractProtocol destroy INFO: Destroying
> ProtocolHandler ["http-nio-8080"] Jul 25, 2016 6:27:32 PM
> org.apache.coyote.AbstractProtocol destroy SEVERE: Failed to destroy
> end point associated with ProtocolHandler ["http-nio-8080"]
> java.lang.NullPointerException    at
> org.apache.tomcat.util.net.NioEndpoint.releaseCaches(NioEndpoint.java:316)
>   at
> org.apache.tomcat.util.net.NioEndpoint.unbind(NioEndpoint.java:492)
>   at
> org.apache.tomcat.util.net.AbstractEndpoint.destroy(AbstractEndpoint.java:821)
>   at
> org.apache.coyote.AbstractProtocol.destroy(AbstractProtocol.java:534)
>   at
> org.apache.catalina.connector.Connector.destroyInternal(Connector.java:1023)
>   at
> org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:297)
>   at
> org.apache.catalina.core.StandardService.destroyInternal(StandardService.java:589)
>   at
> org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:297)
>   at
> org.apache.catalina.core.StandardServer.destroyInternal(StandardServer.java:877)
>   at
> org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:297)
>   at org.apache.catalina.startup.Catalina.start(Catalina.java:633)    at
> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)   at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>   at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>   at java.lang.reflect.Method.invoke(Method.java:498)     at
> org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:351)   at
> org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:485)
> 
> Jul 25, 2016 6:27:32 PM org.apache.coyote.AbstractProtocol destroy
> INFO: Destroying ProtocolHandler ["ajp-nio-8009"] Jul 25, 2016 6:27:32
> PM org.apache.coyote.AbstractProtocol destroy SEVERE: Failed to
> destroy end point associated with ProtocolHandler ["ajp-nio-8009"]
> java.lang.NullPointerException    at
> org.apache.tomcat.util.net.NioEndpoint.releaseCaches(NioEndpoint.java:316)
>   at
> org.apache.tomcat.util.net.NioEndpoint.unbind(NioEndpoint.java:492)
>   at
> org.apache.tomcat.util.net.AbstractEndpoint.destroy(AbstractEndpoint.java:821)
>   at
> org.apache.coyote.AbstractProtocol.destroy(AbstractProtocol.java:534)
>   at
> org.apache.catalina.connector.Connector.destroyInternal(Connector.java:1023)
>   at
> org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:297)
>   at
> org.apache.catalina.core.StandardService.destroyInternal(StandardService.java:589)
>   at
> org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:297)
>   at
> org.apache.catalina.core.StandardServer.destroyInternal(StandardServer.java:877)
>   at
> org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:297)
>   at org.apache.catalina.startup.Catalina.start(Catalina.java:633)    at
> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)   at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>   at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>   at java.lang.reflect.Method.invoke(Method.java:498)     at
> org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:351)   at
> org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:485)

Toute aide serait vraiment appréciée.

Merci !

2voto

Rohit saraf Points 311

Réponse rapide :

Probablement, j'ai utilisé la mauvaise classe de servlet dans mon web.xml qui dépend de la version de l'archive Jersey utilisée. J'utilise Jersey 2.x et le web.xml contenait l'url de servlet suivante, ce qui provoquait l'erreur :

<servlet>
    <servlet-name>Jersey Web Application</servlet-name>
    <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>

J'ai ensuite remplacé ce qui précède par ce qui suit, ce qui a résolu l'erreur :

<servlet>
    <servlet-name>Jersey Web Application</servlet-name>
    <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>

0voto

Riccardo Cossu Points 1465

Le problème semble être :

en-tête LOC invalide (mauvaise signature)

cela est généralement dû à l'une ou l'autre des raisons suivantes :

  • fichier zip/jar supérieur à 4GB et java < 7
  • fichiers zip/jar corrompus

J'ai vu une erreur comme celle-ci dans un déploiement corrompu.

0voto

Eric Points 37

Vérifiez votre nom de servlet dans la balise servlet et le nom de servlet dans le mappage de servlet. S'ils ne sont pas les mêmes, une erreur peut se produire. C'était la raison de mon cas.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X