Erro ao iniciar o tomcat - GRAVE: A child container failed during start

8 respostas Resolvido
javaspring
M

Estou acompanhando a apostila da Caelum Java-Web-fj21 e chegeu na parte de Spring MVC e me deparei com o seguinte problema:

Meu tomcat estava funcionando perfeitamente em todos os exercícios, porém, após criar um novo projeto e adicionar os Jars que a apostila pedia, o Tomcat passou a não startar mais, em nenhum projeto mais ele funciona.

O que pedia a apostila:

  1. Vamos configurar o Spring MVC em um novo projeto.

a) Crie um novo projeto web: File -> New -> Project… -> Dynamic Web Project chamado
fj21-tarefas. Caso a versão do Dynamic web module esteja com 3.0 selecione 2.5.

e assim o fiz! configurei o xml de acordo com eles e dai por diante meu Tomcat não funcionou mais, também importei todos os Jars que eles pediam.

Erro:

abr 25, 2017 4:43:20 PM org.apache.tomcat.util.digester.SetPropertiesRule begin

ADVERTÊNCIA: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property source to org.eclipse.jst.jee.server:revisao-parcial did not find a matching property.

abr 25, 2017 4:43:20 PM org.apache.catalina.startup.VersionLoggerListener log

INFORMAÇÕES: Server version:        Apache Tomcat/7.0.75

abr 25, 2017 4:43:20 PM org.apache.catalina.startup.VersionLoggerListener log

INFORMAÇÕES: Server built:          Jan 18 2017 20:54:42 UTC

abr 25, 2017 4:43:20 PM org.apache.catalina.startup.VersionLoggerListener log

INFORMAÇÕES: Server number:         7.0.75.0

abr 25, 2017 4:43:20 PM org.apache.catalina.startup.VersionLoggerListener log

INFORMAÇÕES: OS Name:               Windows 10

abr 25, 2017 4:43:20 PM org.apache.catalina.startup.VersionLoggerListener log

INFORMAÇÕES: OS Version:            10.0

abr 25, 2017 4:43:20 PM org.apache.catalina.startup.VersionLoggerListener log

INFORMAÇÕES: Architecture:          x86

abr 25, 2017 4:43:20 PM org.apache.catalina.startup.VersionLoggerListener log

INFORMAÇÕES: Java Home:             C:\Program Files\Java\jre1.8.0_121

abr 25, 2017 4:43:20 PM org.apache.catalina.startup.VersionLoggerListener log

INFORMAÇÕES: JVM Version:           1.8.0_121-b13

abr 25, 2017 4:43:20 PM org.apache.catalina.startup.VersionLoggerListener log

INFORMAÇÕES: JVM Vendor:            Oracle Corporation

abr 25, 2017 4:43:20 PM org.apache.catalina.startup.VersionLoggerListener log

INFORMAÇÕES: CATALINA_BASE:         C:\TOMCAT\apache-tomcat-7.0.75

abr 25, 2017 4:43:20 PM org.apache.catalina.startup.VersionLoggerListener log

INFORMAÇÕES: CATALINA_HOME:         C:\TOMCAT\apache-tomcat-7.0.75

abr 25, 2017 4:43:20 PM org.apache.catalina.startup.VersionLoggerListener log

INFORMAÇÕES: Command line argument: -Dcatalina.base=C:\TOMCAT\apache-tomcat-7.0.75

abr 25, 2017 4:43:20 PM org.apache.catalina.startup.VersionLoggerListener log

INFORMAÇÕES: Command line argument: -Dcatalina.home=C:\TOMCAT\apache-tomcat-7.0.75

abr 25, 2017 4:43:20 PM org.apache.catalina.startup.VersionLoggerListener log

INFORMAÇÕES: Command line argument: -Dwtp.deploy=C:\TOMCAT\apache-tomcat-7.0.75\wtpwebapps

abr 25, 2017 4:43:20 PM org.apache.catalina.startup.VersionLoggerListener log

INFORMAÇÕES: Command line argument: -Djava.endorsed.dirs=C:\TOMCAT\apache-tomcat-7.0.75\endorsed

abr 25, 2017 4:43:20 PM org.apache.catalina.startup.VersionLoggerListener log

INFORMAÇÕES: Command line argument: -Dfile.encoding=Cp1252

abr 25, 2017 4:43:20 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent

INFORMAÇÕES: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jre1.8.0_121\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:/Program Files/Java/jre1.8.0_121/bin/client;C:/Program Files/Java/jre1.8.0_121/bin;C:/Program Files/Java/jre1.8.0_121/lib/i386;C:\ProgramData\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0;C:\Program Files\MySQL\MySQL Utilities 1.6;C:\Program Files\Java\jdk1.8.0_121\bin;C:\Users\Computador\AppData\Local\Microsoft\WindowsApps;;C:\Users\Computador\eclipse;;.

abr 25, 2017 4:43:21 PM org.apache.coyote.AbstractProtocol init

INFORMAÇÕES: Initializing ProtocolHandler [“http-bio-8080”]

abr 25, 2017 4:43:21 PM org.apache.coyote.AbstractProtocol init

INFORMAÇÕES: Initializing ProtocolHandler [“ajp-bio-8009”]

abr 25, 2017 4:43:21 PM org.apache.catalina.startup.Catalina load

INFORMAÇÕES: Initialization processed in 4424 ms

abr 25, 2017 4:43:21 PM org.apache.catalina.core.StandardService startInternal

INFORMAÇÕES: Starting service Catalina

abr 25, 2017 4:43:21 PM org.apache.catalina.core.StandardEngine startInternal

INFORMAÇÕES: Starting Servlet Engine: Apache Tomcat/7.0.75

abr 25, 2017 4:43:24 PM org.apache.catalina.core.ContainerBase startInternal

GRAVE: A child container failed during start

java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/revisao-parcial]]

at java.util.concurrent.FutureTask.report(Unknown Source)

at java.util.concurrent.FutureTask.get(Unknown Source)

at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1119)

at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:819)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)

at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1571)

at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1561)

at java.util.concurrent.FutureTask.run(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/revisao-parcial]]

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:162)

 6 more

Caused by: java.lang.NoClassDefFoundError: org/springframework/beans/BeansException

at java.lang.Class.getDeclaredFields0(Native Method)

at java.lang.Class.privateGetDeclaredFields(Unknown Source)

at java.lang.Class.getDeclaredFields(Unknown Source)

at org.apache.catalina.util.Introspection.getDeclaredFields(Introspection.java:106)

at org.apache.catalina.startup.WebAnnotationSet.loadFieldsAnnotation(WebAnnotationSet.java:270)

at org.apache.catalina.startup.WebAnnotationSet.loadApplicationServletAnnotations(WebAnnotationSet.java:139)

at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:65)

at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:417)

at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:891)

at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:388)

at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)

at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)

at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5522)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)

 6 more

Caused by: java.lang.ClassNotFoundException: org.springframework.beans.BeansException

at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1892)

at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1735)

 20 more
abr 25, 2017 4:43:24 PM org.apache.catalina.core.ContainerBase startInternal

GRAVE: 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(Unknown Source)

at java.util.concurrent.FutureTask.get(Unknown Source)

at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1119)

at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:300)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)

at org.apache.catalina.core.StandardService.startInternal(StandardService.java:444)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)

at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:758)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)

at org.apache.catalina.startup.Catalina.start(Catalina.java:693)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294)

at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:428)

Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:162)

at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1571)

at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1561)

at java.util.concurrent.FutureTask.run(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

Caused by: org.apache.catalina.LifecycleException: A child container failed during start

at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1127)

at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:819)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)

 6 more
abr 25, 2017 4:43:24 PM org.apache.catalina.startup.Catalina start

GRAVE: 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:162)

at org.apache.catalina.startup.Catalina.start(Catalina.java:693)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294)

at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:428)

Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardService[Catalina]]

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:162)

at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:758)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)

 7 more

Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina]]

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:162)

at org.apache.catalina.core.StandardService.startInternal(StandardService.java:444)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)

 9 more

Caused by: org.apache.catalina.LifecycleException: A child container failed during start

at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1127)

at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:300)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)

 11 more

abr 25, 2017 4:43:24 PM org.apache.coyote.AbstractProtocol pause
INFORMAÇÕES: Pausing ProtocolHandler [“http-bio-8080”]
abr 25, 2017 4:43:24 PM org.apache.coyote.AbstractProtocol pause
INFORMAÇÕES: Pausing ProtocolHandler [“ajp-bio-8009”]
abr 25, 2017 4:43:24 PM org.apache.catalina.core.StandardService stopInternal
INFORMAÇÕES: Stopping service Catalina
abr 25, 2017 4:43:24 PM org.apache.coyote.AbstractProtocol destroy
INFORMAÇÕES: Destroying ProtocolHandler [“http-bio-8080”]
abr 25, 2017 4:43:24 PM org.apache.coyote.AbstractProtocol destroy
INFORMAÇÕES: Destroying ProtocolHandler [“ajp-bio-8009”]

Alguém já teve o mesmo problema? Será que alguém poderia me dar uma dica do que pode ter acontecido?

8 Respostas

B

Importante acompanhar todo o log, seu problema está bem no começo do trace que você postou:

ADVERTÊNCIA: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property ‘source’ to ‘org.eclipse.jst.jee.server:revisao-parcial’ did not find a matching property.

M

Olá BlackDog,

Obrigado por me responder. Analisei com mais calma a sua informação e realmente você tinha razão, o erro era esse mesmo! Porém, ao resolver essa questão, me deparei com mais outro erro, será que pode ser de mesma natureza do anterior?

Segue o erro…

HTTP Status 500 - Servlet.init() for servlet springmvc threw exception

type Exception report

message Servlet.init() for servlet springmvc threw exception

description The server encountered an internal error that prevented it from fulfilling this request.
exception

javax.servlet.ServletException: Servlet.init() for servlet springmvc threw exception

org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:506)

org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)

org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:962)

org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:452)

org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1087)

org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)

org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318)

java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

java.lang.Thread.run(Unknown Source)

root cause

java.lang.NoSuchMethodError: org.springframework.util.ReflectionUtils.isObjectMethod(Ljava/lang/reflect/Method;)Z

org.springframework.beans.ExtendedBeanInfo.(ExtendedBeanInfo.java:84)

org.springframework.beans.CachedIntrospectionResults.(CachedIntrospectionResults.java:224)

org.springframework.beans.CachedIntrospectionResults.forClass(CachedIntrospectionResults.java:149)

org.springframework.beans.BeanWrapperImpl.getCachedIntrospectionResults(BeanWrapperImpl.java:324)

org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:1055)

org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:924)

org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:76)

org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:62)

org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:119)

javax.servlet.GenericServlet.init(GenericServlet.java:158)

org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:506)

org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)

org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:962)

org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:452)

org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1087)

org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)

org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318)

java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

java.lang.Thread.run(Unknown Source)

note The full stack trace of the root cause is available in the Apache Tomcat/7.0.75 logs.

J

Ele não está conseguindo encontra o método do spring java.lang.NoSuchMethodError, o que pode está acontecendo é um erro de class loader, quando as versões não são compatíveis. Quando fiz o mesmo projeto também tive o mesmo problema, no caso é bom evitar o uso de XML e utilizar properties, a partir do spring recomendo iniciar outros projetos mais diretos, pois a apostila dá Caelum devasa nesta parte, tive intensa dificuldade em conseguir prosseguir desta parte que até desisti. Vendo o mesmo erro hoje, acredito que tenha haver com incompatibilidade de versões, em vista que alguns métodos podem está utilizando versões atuais do spring e trabalhando com versões antigas causam do Servlet, vice e versa, observando que você está trabalhando com Tomcat 7, assim como. As dependências que você quer pegar pelo XML não estarem mais disponíveis e que também pode gerar esse mesmo erro de não encontrar o método.e que salve engano é o um dos motivos em não utilizar mais XML. Caso consiga resolver , manda aí. Tks

B

Na verdade ele não está encontrado esse cara aqui org.springframework.util.ReflectionUtils.isObjectMethod(Ljava/lang/reflect/Method;)

Com certeza é incompatiblidade de versões dos metodos do Spring. Dá uma geral nas versões que você está usando e a versão que é demonstrada nas apostilas da Caelum.

Abs !

M

Valew jonathan.sky, BlackDog

Vou dar uma geral aqui no projeto e qualquer coisa posto aqui novamente.

M
Solucao aceita

Valew galera pelas dicas!
Era justamente a incompatibilidade das versões, baixei o projeto original da Caelum "fj21-tarefas"
e peguei todos os Jars certinhos e rodou!

Quem estiver com o mesmo problema e quiser baixar o projeto, segue o link abaixo:

http://www.mediafire.com/?cdn8mx3aldi54y3 ou

Muito obrigado a todos pelas dicas. Valeu

J

Quando estiver mais maduro, recomendo que veja sobre JVM e classeloader, por exemplo, neste caso ele não deu um erro direito, avisando que havia erro de dependência, somente que não encontrava o método. existem casos comuns em que o simplesmes fato de ter duas versões de jar embutidas ocasionarem erros e você nem ao menos saber o porquê. Se possível, recomendo o livro de arquitetura dá casa do código.

M

jonathan.sky,

Muito obrigado pela dica, vou dar uma lida sim nesse livro. valew!

Criado 25 de abril de 2017
Ultima resposta 26 de abr. de 2017
Respostas 8
Participantes 3