servlets - unknown - java.lang.ClassNotFoundException: HttpServletRequest
at java util concurrent threadpoolexecutor runworker unknown source (15)
Acabo de obtener Tomcat 7.0.27. He guardado el tiempo para iniciar tomcat 45sec. También funcionaba bien con la versión anterior en tomcat. pero al ejecutarlo obtengo el siguiente error:
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
¿Cómo resuelvo el error? He investigado algunas publicaciones similares, pero no me pareció útil.
Acabo de eliminar la declaración del servlet en el archivo web.xml y funciona para mí.
Buena suerte
Asegúrese de importar la anotación correcta, porque tuve el mismo problema que usted.
javax.servlet.annotation.*
El mismo error que obtuve
Caused by: org.apache.catalina.LifecycleException: A child container failed during start
Eliminé el proyecto del espacio de trabajo de eclipse, borré la carpeta .settings del proyecto y re importé al eclipse. ¿El truco para mí?
Encontré el mismo problema cuando uso eclipse-jee. Encontré que la razón de este problema es que tenía dos o más definiciones @WebServlet duplicadas ("/ yourServlet") en mi aplicación web, por lo que la solución es eliminar duplicados
Entonces, el problema está relacionado con los errores de metadatos de elucidamiento. Vaya a la carpeta de metadatos donde se guarda esta configuración. Para mí, uno de los errores fue que:
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
Así que vaya allí en el espacio de trabajo de su eclipse, es diferente para todos y elimine todo su contenido. Mis servicios se llamaron FoodQuantityService, así que eliminé todos los archivos en org.eclipse.wst.server.core, pero antes borré la configuración del servidor de Eclipse.
A continuación, cree una nueva configuración Archivo-> Nuevo-> Otro-> Servidor seleccione Tomcat y luego los proyectos que desea que se publiquen. Inicia el servidor y todo estará bien.
Este es para todos los usuarios de Maven, usando sus dependencias para el classpath y no copiándolos en / WEB-INF / lib: simplemente agreguen esto (que copia las bibliotecas de dependencias) antes de </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>
Gracias chicos. Todo lo anterior falló, excepto esto, que eliminó todo el contenido del archivo C:/Users/debasish/workspace/.metadata/.plugins/org.eclipse.wst.server.core
luego creó el servidor nuevamente.
Pero elimine el servidor primero antes de eliminar esos contenidos del archivo.
No tenía un servlet-api.jar en el directorio WEB-INF / lib de la aplicación (ni en ningún otro contenedor). El problema fue que en WEB-INF / web.xml tuve esto ...
...
<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>
...
... de acuerdo con un tutorial. Eliminar eso aún permitía que el servlet funcionara, y no obtenía el error.
Si algún proyecto que estaba usando y ahora está cerrado en el espacio de trabajo puede provocar este problema, intente eliminar el contexto de la carpeta del servidor dentro de Eclipse o abra los proyectos.
Su aplicación web tiene bibliotecas específicas de servletcontainer como el archivo servlet-api.jar
en su /WEB-INF/lib
. Esto no es correcto Quitarlos a todos. El /WEB-INF/lib
solo debe contener las bibliotecas específicas de la aplicación web, no del contenedor servlet. El servletcontainer (como Tomcat) es el que ya debería proporcionar las bibliotecas específicas de servletcontainer. Si proporciona bibliotecas de un servletcontainer arbitrario de una marca / versión diferente, se encontrará con este tipo de problemas porque su webapp no podrá ejecutarse en un servletcontainer de una marca / versión diferente de donde se originaron esas bibliotecas. .
Este es un error de inicio muy común cuando se encuentran con errores de compilación porque no han configurado correctamente su proyecto IDE. Consulte también ¿Cómo importo la API javax.servlet en mi proyecto Eclipse?
Tengo el mismo problema cuando estaba probando con la primera aplicación Weba de Spring MVC. Lo que hice fue descargar los archivos jar dados desde el enlace (Descargar Spring Framework) . Entre los archivos de la carpeta extraíble, los archivos jar que se esperaba que usara eran
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
Pero a medida que obtengo el error, buscando la solución, me di cuenta de que también necesito el siguiente contenedor.
commons-logging-1.0.4.jar
jstl-1.2.jar
Luego busqué y descargué los dos archivos jar por separado y los incluí en la carpeta / WEB-INF / lib . Y finalmente pude ejecutar mi aplicación webapp utilizando el servidor Tomcat. :)
Tuve el mismo problema, y la causa fue la falta de commons-logging-1.2.jar
Lo agrego a la carpeta lib
, luego mi servidor Apache Tomcat 7 se ejecuta sin problemas.
agrega follow en tu pom.xml .it funciona para mí.
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
</dependency>
debe agregar el archivo servler-api.jar en la carpeta WEB-INF / lib
Caused by: java.lang.NoClassDefFoundError: HttpServletRequest
El problema anterior puede deberse a que " javax
library no se encuentra Solucioné el mismo problema haciendo: haga clic con el botón derecho en el proyecto en eclipse Properties
-> Java Build Path
-> Add library
-> Server Runtime Library
-> Apache Tomcat