java.lang.ClassNotFoundException: HttpServletRequest

Acabei de receber o tomcat 7.0.27. Eu mantive o tempo para iniciar o tomcat 45sec. Também estava funcionando bem com a versão mais antiga no tomcat. mas correndo eu recebo o seguinte erro:

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 

Como resolvo o erro? Eu olhei em alguns posts semelhantes, mas não achei útil.

Seu webapp possui bibliotecas específicas de servletcontainer como o arquivo servlet-api.jar em seu /WEB-INF/lib . Isso não está certo. Remova todos eles. O /WEB-INF/lib deve conter apenas as bibliotecas específicas para o aplicativo da Web, não para o servletcontainer. O servletcontainer (como o Tomcat) é aquele que já deve fornecer as bibliotecas específicas do servletcontainer. Se você fornecer bibliotecas a partir de um servletcontainer arbitrário de um make / versão diferente, você encontrará esse tipo de problema porque seu webapp não poderá ser executado em um servletcontainer de um make / versão diferente daquele em que essas bibliotecas são originadas .

Esse é um erro muito comum quando se deparam com erros de compilation porque não configuraram corretamente o projeto do IDE. Veja também Como importo a API javax.servlet no meu projeto Eclipse?

Caused by: java.lang.NoClassDefFoundError: HttpServletRequest O problema acima pode ser porque “a biblioteca javax não foi encontrada Eu resolvi o mesmo problema: Clique com o botão direito do mouse no projeto em eclipse Properties -> Java Build Path -> Add library -> Server Runtime Library -> Apache Tomcat

Eu não tinha um servlet-api.jar no diretório WEB-INF / lib do aplicativo (ou qualquer outro jar lá). O problema era que no WEB-INF / web.xml eu tinha isso …

  ...  MyServlet com.bizooka.net.MyServlet   MyServlet /MyServlet  ... 

… de acordo com um tutorial. A remoção disso ainda permitia que o servlet funcionasse e não obteve o erro.

adicione o seguinte em seu pom.xml. funciona para mim.

   commons-logging commons-logging 1.2  

você deve adicionar o arquivo servler-api.jar na pasta WEB-INF / lib

Acabei de excluir a declaração do servlet no arquivo web.xml e funciona para mim.

Boa sorte

Obrigado rapazes. Todas as anteriores falharam, exceto isso, que excluiu todo o conteúdo do arquivo C:\Users\debasish\workspace\.metadata\.plugins\org.eclipse.wst.server.core seguida, criou o servidor novamente.

Mas exclua o servidor antes de excluir o conteúdo desse arquivo.

Este é para todos os usuários do Maven que estão por aí, usando suas dependencies para o classpath e não copiando para o / WEB-INF / lib: apenas adicione isto (que copia as bibliotecas de dependencies) antes

  maven-dependency-plugin   process-sources  copy-dependencies   WebContent/WEB-INF/lib     

Eu tenho mesmo problema quando eu estava tentando com o primeiro webapp Spring MVC. O que eu tinha feito foi baixado os arquivos jar dados a partir do link (Download spring framework) . Entre os jars na pasta extraída do zip, os arquivos jar que eu esperava usar eram

  • 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

Mas à medida que recebo o erro, procurando por solução, descobri que também preciso do seguinte jar.

  • commons-logging-1.0.4.jar

  • jstl-1.2.jar

Depois, procurei e baixei os dois arquivos jar separadamente e incluí-os na pasta / WEB-INF / lib . E finalmente consegui colocar meu webapp em execução usando o servidor Tomcat. 🙂

Eu tive o mesmo problema, e a causa foi a falta do commons-logging-1.2.jar

Eu adiciono à pasta lib , então meu servidor Apache Tomcat 7 é executado sem problemas.

O mesmo erro que recebi

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

Eu apaguei o projeto do espaço de trabalho do eclipse, deletei a pasta .settings do projeto e reimportei para o eclipse. Fiz o truque para mim.

Então o problema está conectado com os erros de metadados da elipse. Vá para a pasta de metadados onde esta configuração está salva. Para mim, uma das erorrs foi a seguinte:

 SEVERE: Error starting static Resources java.lang.IllegalArgumentException: Document base C:\Users\Cannibal\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\FoodQuantityService does not exist or is not a readable directory 

Então vá lá é no espaço de trabalho do seu eclipse é diferente para todos e excluir todo o seu conteúdo. Meus serviços foram nomeados FoodQuantityService, então excluí todos os arquivos em org.eclipse.wst.server.core, mas antes disso, exclua a configuração do servidor do Eclipse

Excluir a configuração atual do servidor

Em seguida, crie uma nova configuração File-> New-> Other-> Server, selecione Tomcat e, em seguida, projeta qual você deseja publicar. Inicie o servidor e tudo ficará bem.

Se algum projeto que você estava usando e agora fechado no espaço de trabalho pode levar a esse problema, tente excluir o contexto da pasta do servidor dentro do eclipse ou abra os projetos.

Eu me deparei com o mesmo problema ao usar o eclipse-jee. Eu encontrei a razão deste problema é que eu tinha dois ou mais duplicados @WebServlet (“/ yourServlet”) definição no meu web-app, então a solução é eliminar duplicatas

Certifique-se de importar a anotação correta, porque tive o mesmo problema que você.

javax.servlet.annotation.*