Un contenedor secundario falló durante el inicio java.util.concurrent.ExecutionException
jsp tomcat (13)
- descargar commons-logging-1.1.1.jar .
- Vaya a Su proyecto, cree la ruta, configure la ruta de la compilación, java cree la ruta.
- Agregue tarros externos .. agregue commons-logging-1.1.1.jar
- haga clic en aplicar, ok
- Vaya al proyecto, a las propiedades, al ensamblaje de implementación, haga clic en agregar, a las entradas de la ruta de compilación de Java, a continuación, seleccione el registro de commons jar, ok, apply, ok ..
- Elimine el servidor, limpie su proyecto, agregue el servidor, ejecute su proyecto.
Intenté crear / ejecutar un JSP básico y encontré el siguiente error. Vi que otras personas han tenido problemas similares, sin embargo, aún no he podido encontrar (o implementar adecuadamente) una solución al problema en cuestión. ¡Cualquier ayuda sería apreciada!
SEVERE: A child container failed during start
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/SimpleServletProject]]
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:1123)
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:816)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1575)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1565)
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[/SimpleServletProject]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
... 6 more
Caused by: java.lang.NoClassDefFoundError: HttpServletRequest
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2693)
at java.lang.Class.getDeclaredMethods(Class.java:1967)
at org.apache.catalina.util.Introspection.getDeclaredMethods(Introspection.java:127)
at org.apache.catalina.startup.WebAnnotationSet.loadMethodsAnnotation(WebAnnotationSet.java:287)
at org.apache.catalina.startup.WebAnnotationSet.loadApplicationServletAnnotations(WebAnnotationSet.java:140)
at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:65)
at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:415)
at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:892)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:386)
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:5380)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
... 6 more
Caused by: java.lang.ClassNotFoundException: HttpServletRequest
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571)
... 20 more
Jan 22, 2015 9:04:06 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:1123)
at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:300)
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:739)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.startup.Catalina.start(Catalina.java:689)
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:483)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:321)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:455)
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:1575)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1565)
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:1131)
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:816)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
... 6 more
Jan 22, 2015 9:04:06 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:154)
at org.apache.catalina.startup.Catalina.start(Catalina.java:689)
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:483)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:321)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:455)
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:739)
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:1131)
at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:300)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
... 11 more
Jan 22, 2015 9:04:06 PM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
Jan 22, 2015 9:04:06 PM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Jan 22, 2015 9:04:06 PM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Jan 22, 2015 9:04:06 PM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8080"]
Jan 22, 2015 9:04:06 PM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
Ante el mismo problema. Cambié el JRE a la versión 1.8 correcta y haga una limpieza y compilación de Maven para resolver el problema. Es posible que deba cambiar la Faceta del proyecto y verificar la ruta correcta.
Creo que encontrarás un problema similar aquí:
java.lang.ClassNotFoundException: HttpServletRequest
Y probablemente responda también. Espero que esto ayude.
Debe haber empaquetado el servlet-api.jar
junto con las otras bibliotecas en su archivo war. Puede verificar esto abriendo su archivo war y navegando a la carpeta WEB-INF / lib.
Idealmente, no deberías proporcionar el tarro servlet-api. El contenedor, en su caso Tomcat, es responsable de proporcionarlo en el momento de la implementación de su aplicación. Si intenta proporcionarlo también, entonces surgen problemas debido a la falta de coincidencia de versión, etc. Lo mejor es evitar el empaquetado. Eliminar de la WEB-INF / lib.
Información Adicional
Si está utilizando maven para su embalaje, simplemente agregue la etiqueta provided
con la dependencia y maven se asegurará de no empaquetarla en el archivo final de war. Algo como
<dependency>
<artifact>..
<group> ...
<version> ...
<scope>provided</scope>
</<dependency>
Elimine el proyecto llamado Servers (o Servers1, Servers2 que contiene su server.xml), búsquelo en el Explorador de paquetes (área de trabajo)
Elimine el servidor de Eclipse: vaya a Ventana> Preferencias> Servidor> Entorno de ejecución, aquí elimine el servidor que está utilizando de eclipse y añádalo nuevamente (esto creará una nueva carpeta de proyecto de Servidor en Eclipse),
Eliminar servidor del proyecto: también elimine el servidor en su proyecto (ruta de compilación> ruta de configuración> ruta de compilación de Java) y agregue nuevamente.
ahora tienes un nuevo proyecto de Servidor que no tendrá Contexto Múltiple en su server.xml, solo eliminando la ruta duplicada en server.xml solucionó el problema de exixting pero aún así comenzó el servidor dint, al iniciar este Server (Apache Tomcat v7) y funcionó normalmente
Y no sé si esto es una buena práctica o no, soy un iniciador en la programación.
En algún momento, este problema se produce debido a una versión de Java y Tomcat incompatibles. Elija la versión compatible de ambos.
Esto es lo que funcionó para mí:
1) agregue commons-logging.jar a la carpeta WEB-INF / lib
2) Agregue este jar como una dependencia de maven, por ejemplo, agregue esto al pom.xml:
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
</dependency>
3) Instalar Maven
4) Ejecutar el servidor.
Espero eso ayude.
Intento con el servlet http y encuentro este problema cuando escribo @WebServlet duplicado, encontré con este problema. Después de quitar o cambiar el valor de @WebServlet está funcionando.
1.Clase
@WebServlet("/display")
public class MyFirst extends HttpServlet {
2.Clase
@WebServlet("/display")
public class MySecond extends HttpServlet {
Me enfrenté a un problema similar con registros similares. Estaba usando JDK 1.6 con apache tomcat 7. Al establecer java_home en 1.7 se resolvió el problema.
Me enfrenté a un problema similar y se debió a que había escrito la ruta de WebServlet en el archivo .java, así como en el web.xml. Quitarlo de cualquier ubicación funciona bien para mí.
En el archivo .java
@WebServlet("/index1.jsp")
y en web.xml
<servlet>
<servlet-name>Logout</servlet-name>
<servlet-class>tpc.Logout</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Logout</servlet-name>
<url-pattern>/index1.jsp</url-pattern>
</servlet-mapping>
Se agregó la dependencia de AWS y tuvo este error. Cuando lo quito de pom el error desaparece. Probablemente usted podría tener la misma situación.
Su aplicación web tiene bibliotecas específicas de servletcontainer como el archivo servlet-api.jar en su / WEB-INF / lib. Esto no está bien.
Eliminar todos ellos.
El / WEB-INF / lib debe contener solo las bibliotecas específicas para la aplicación web, no para el servletcontainer. El servletcontainer (como Tomcat) es el que ya debería proporcionar las bibliotecas específicas del servletcontainer.
Si suministra bibliotecas desde un servletcontainer arbitrario de una marca / versión diferente, se encontrará con este tipo de problemas porque su aplicación web no podrá ejecutarse en un servletcontainer de una marca / versión diferente a la que se originó en esas bibliotecas. .
Cómo resolverlo: en Eclipse Haga clic con el botón derecho en el proyecto en eclipse Propiedades -> Java Build Path -> Agregar biblioteca -> Server Runtime Library -> Apache Tomcat
Proyecto Im Maven: -
añadir línea de seguimiento en el archivo pom.xml
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>${default.javax.servlet.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>${default.javax.servlet.jsp.version}</version>
<scope>provided</scope>
</dependency>
compruebe si JAVA_HOME está establecido en 1.7 o inferior. Porque Tomcat 7 no es compatible con Jdk 1.8.
Esto funciono para mi