oxygen - Tomcat no inicia a través de Eclipse(Timeout)
instalar tomcat en eclipse oxygen (25)
Acabo de notar el mismo error aquí. Eclipse Juno + Apache 7 (7.0.27 y 7.0.29).
El servidor se inicia, puedo usar la aplicación, pero todavía se genera un error de tiempo de espera.
Con Eclipse Indigo SR2 funciona correctamente. También noté que se borraron mis variables JAVA_HOME y JRE_HOME (Tal vez debido a alguna actualización de Java), así que establecí las variables nuevamente.
Estoy intentando ejecutar Tomcat a través de Eclipse. Esto es algo que he hecho durante los últimos años. Estaba funcionando ayer y ahora no lo es. El error que obtengo es
Server Tomcat v7.0 Server at localhost was unable to start within 45 seconds. If the server requires more time, try increasing the timeout in the server editor.
La salida es
Jul 06, 2012 8:32:26 PM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: D:/Program Files/Java/jdk1.7.0_05/bin;C:/Windows/Sun/Java/bin;C:/Windows/system32;C:/Windows;C:/Program Files (x86)/NVIDIA Corporation/PhysX/Common;C:/Windows/system32;C:/Windows;C:/Windows/System32/Wbem;C:/Windows/System32/WindowsPowerShell/v1.0/;C:/Program Files (x86)/QuickTime/QTSystem/;D:/Launch;D:/Program Files/Java/jdk1.7.0_05/bin;%PROGRAMFILES%/Internet Explorer;C:/Program Files (x86)/SMLNJ/bin/;D:/Program Files/TortoiseSVN/bin;C:/ghc/ghc-6.6/bin;D:/Program Files/MySQL/MySQL Server 5.5/bin;%ANT_HOME%/bin;D:/Program Files (x86)/Microsoft SQL Server/100/Tools/Binn/;D:/Program Files/Microsoft SQL Server/100/Tools/Binn/;D:/Program Files/Microsoft SQL Server/100/DTS/Binn/;D:/Program Files (x86)/Microsoft SQL Server/100/Tools/Binn/VSShell/Common7/IDE/;C:/Program Files (x86)/Microsoft Visual Studio 9.0/Common7/IDE/PrivateAssemblies/;D:/Program Files (x86)/Microsoft SQL Server/100/DTS/Binn/;D:/Program Files (86x)/;.
Jul 06, 2012 8:32:26 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
Jul 06, 2012 8:32:26 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
Jul 06, 2012 8:32:26 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 468 ms
Jul 06, 2012 8:32:26 PM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Jul 06, 2012 8:32:26 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.28
Jul 06, 2012 8:32:26 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory D:/Program Files/Java/apache-tomcat-7.0.28/webapps/docs
Jul 06, 2012 8:32:26 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory D:/Program Files/Java/apache-tomcat-7.0.28/webapps/examples
Jul 06, 2012 8:32:26 PM org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: contextInitialized()
Jul 06, 2012 8:32:26 PM org.apache.catalina.core.ApplicationContext log
INFO: SessionListener: contextInitialized()
Jul 06, 2012 8:32:26 PM org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: attributeAdded(''org.apache.jasper.compiler.TldLocationsCache'', ''org.apache.jasper.compiler.TldLocationsCache@5710ddf9'')
Jul 06, 2012 8:32:26 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory D:/Program Files/Java/apache-tomcat-7.0.28/webapps/host-manager
Jul 06, 2012 8:32:26 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory D:/Program Files/Java/apache-tomcat-7.0.28/webapps/manager
Jul 06, 2012 8:32:26 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory D:/Program Files/Java/apache-tomcat-7.0.28/webapps/ROOT
Jul 06, 2012 8:32:26 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Jul 06, 2012 8:32:26 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jul 06, 2012 8:32:26 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 504 ms
He buscado una solución durante varias horas. Pero no he tenido éxito y es probable que sea algo simple. He probado lo siguiente:
- Eliminar Servir y rehacerlo en eclipse
- Reiniciar computadora, eclipse
- Reinstalar eclipse, tomcat
- Inicie Eclipse con -clean
- Inicie el servidor sin una aplicación web
- Aumentando el tiempo de espera
Puedo arrancar tomcat desde la línea de comandos sin problemas. Sin embargo, necesito ejecutarlo a través de eclipse para depurar. Estoy al tanto de esta publicación de SO, la he revisado y muchas otras han sido inútiles.
¿Pensamientos?
ACTUALIZACIÓN: Me acabo de dar cuenta de que el servidor se inicia. Sin embargo, una de las funciones finales que eclipsa hace, falla. Cómo observé esto es estableciendo el tiempo de espera en 10 minutos. Pude acceder al servidor durante ese tiempo, sin embargo, no la funcionalidad de depuración de eclipse. Así que Eclipse lo inicia, intenta hacer algo, que algo nunca termina, Eclipse apaga a Tomcat después de ese período de tiempo de espera.
ACTUALIZACIÓN: Al repasar lo que sucedió cuando surgió este problema, la computadora aparentemente instaló una actualización de Java.
Asegúrese de que Tomcat esté realmente escuchando 127.0.0.1 cuando el nombre de host está configurado en localhost.
Al iniciar el servidor Tomcat en Eclipse, el registro muestra algo como:
10:07:23 INFO main o.a.c.h.Http11NioProtocol Initializing ProtocolHandler ["http-nio-192.168.2.63-8080"]
La configuración del servidor Tomcat "Nombre de host" y el puerto HTTP / 1.1 DEBEN resolver la dirección IP mostrada y el puerto HTTP (en el ejemplo dado IP 192.168.2.63 Puerto 8080)
Esto lo solucionó con Eclipse 4.5 (Marte) y Tomcat 8
Bueno, probé todas estas opciones, no pude obtener mi versión reciente de STS (Spring Tool Suite 3.7.1.201510041213-RELEASE) para descubrir que Tomcat había comenzado.
Probé Tomcat 7.0.64, 8.0.26, 8.0.28. Todo con los mismos resultados. Logré que las instalaciones vanguardistas de Tomcat funcionaran, así que pensé que debía haber un problema con mi servidor.xml (u otro archivo).
Así que fui línea por línea hasta que la vista del servidor dejara de recoger el estado iniciado. Para abreviar, configurar el atributo de secure
(a cualquier valor, como false
) en un conector hace que STS asuma que es otro manejador de SSL.
Por ejemplo:
<Connector secure="false" executor="conPool" port="8080" redirectPort="8443" protocol="HTTP/1.1" />
Causará que STS se asuste, mientras:
<Connector executor="conPool" port="8080" redirectPort="8443" protocol="HTTP/1.1" />
Funciona según lo previsto.
Parece que STS supone que al tener simplemente el atributo de seguridad, independientemente del valor, es un controlador de SSL. Sin embargo, las versiones anteriores de STS no parecen tener este problema. Alguien ya ha archivado un error muy similar .
También tenga en cuenta que el panel de configuración del servidor muestra:
Cuando el servidor.xml tiene el atributo de secure
en un conector que no es SSL (y el comportamiento es algo inestable), y:
Los puertos normales enumerados cuando se elimina.
EDITAR:
Asegúrese de que su nombre de host sea "localhost", o si está usando una dirección IP específica, asegúrese de que sea la dirección IP CORRECTA que tiene su computadora.
Cambié mi nombre de host de "localhost" a mi dirección IP específica (en ese momento). Esto fue para resolver un problema que encontré al hacer el desarrollo de aplicaciones móviles.
Mi problema fue que mi dirección IP cambió. Así que actualicé mi nombre de host a mi nueva dirección IP. (Lo volveré a convertir en localhost una vez que haya terminado con la prueba móvil).
Solo un aviso, a veces es una solución simple.
El problema es definitivamente con su versión JDK. Si está ejecutando Windows 7, consideraría cambiar la versión de su JDK y su versión de tomcat.
Eliminar el archivo .metadata del archivo de área de trabajo de Eclipse solucionó mi problema. Luego, se requiere reiniciar Eclipse y configurar el entorno desde 0 (perspectivas, vistas, variables, servidores, sincronización, etc.)
En mi caso, desactivé el conector HTTP / 1.1 en el puerto 8080 a favor de un conector HTTP / 1.1 SSLEnabled (https) en el puerto 8443.
No estoy seguro de si la comunicación Eclipse / Tomcat estaba fallando debido al puerto incorrecto o al protocolo incorrecto, pero cuando agregué el conector HTTP / 1.1 en el puerto 8080 de nuevo en mi servidor.xml (además del conector seguro en el puerto) 8443), Eclipse fue capaz de detectar correctamente el inicio exitoso de Tomcat.
Parece que para que Eclipse reconozca que Tomcat se ha iniciado correctamente, Tomcat debe configurarse para tener un Conector no SSL en el puerto 8080.
Esta es una publicación muy antigua, pero ninguna de estas soluciones funcionó para mí. Tuve que hacer una combinación de respuestas en esta publicación y otras para que funcione. Esto es lo que hice;
- Agregue
127.0.0.1 localhost
al archivo de host - Agregar
-Djava.net.preferIPv4Stack=true
al archivo eclipse.ini - Establezca Proveedor activo en Manual en
Window > Preferences > General > Network Connections
- Cambiar el nombre de host en
Servers (view) > Overview (pane)
a la IP de red de la computadora. - Deshabilitar la recarga automática en el
Server (view) > Module (pane) > Module (list item) > Edit (action button)
Referencias
- Eclipse no puede detectar que un servidor ha comenzado
- Tomcat no inicia a través de Eclipse (Timeout)
- Tomcat no inicia a través de Eclipse (Timeout)
Estaba enfrentando el mismo problema y seguí la mayoría de las soluciones proporcionadas, pero no funcionaron para mí.
Uno de mis superiores me dijo la razón del problema. Previamente, creé una compilación para el entorno de ensayo usando mvn clean install -staging , que creó un archivo WAR en la carpeta de destino para el entorno de ensayo. Ahora, cada vez que inicio tomcat, estaba usando la configuración del objetivo para conectarme al servidor de la base de datos provisional y no pude conectarme (quedándose atascado en la preparación del delegado de inicio ).
Solución: primero ejecute mvn clean install en el directorio del área de trabajo y luego en eclipse, haga clic con el botón secundario en proyecto -> Maven -> Actualizar proyecto. Ahora ejecuta tomcat.
Esto también puede suceder cuando establece el nombre de host en la configuración del servidor a un valor no válido.
He descubierto que esto puede suceder debido a la invalidez / corrupción / ??? puntos de interrupción en su código cuando comienza en "Depurar". A menudo se acompaña de tiempos de arranque lentos.
"Eliminar todos los puntos de interrupción" aclaró esto para mí.
Me encontré con el mismo problema. Hice todas estas cosas.
- Se agregaron todas las variables de entorno en las propiedades del sistema.
-
Window -> Preferences -> General -> Network Connections
convirtieron Proveedor activo en Manual . - Se agregó
-Djava.net.preferIPv4Stack=true
después de-vmargs
en el archivo eclipse.ini . - Aumentó el tiempo de espera de 45 seg.
- Eclipse actualizado.
Espero que esto ayude.. !!!
Me equivoqué con mi archivo / etc / hosts y eliminé el alias que había configurado en Eclipse. Asi que
- Vaya a Ventana> Mostrar vista> Servidores
- Haga doble clic en Tomcat v7.0 (esa es la versión que tengo)
- En el campo "Nombre de host:", compruebe que tiene un alias válido; si no está seguro, use localhost o marque / etc / hosts o% systemroot% / system32 / drivers / etc / hosts
Extender el tiempo de espera solo retrasa lo inevitable, corrige el síntoma y no la causa.
Mi problema resultó que había editado el archivo tomcat install server.xml para ssl en 8443 y ya no en 8080 ... eclipse lo saca y cuelga al inicio ... copia el server.xml original y crea el servidor otra vez y todo bueno ... tengo un gran objetivo disparando mis propios pies ...
Para aquellos de ustedes que intentan iniciar aplicaciones cargadas pesadas, con una gran cantidad de registro de nivel INFO a la consola. Tenga en cuenta que la impresora de la consola Eclipse puede confundirse por la cantidad de datos que se imprimirán y colgar Eclipse durante mucho tiempo, mientras que el servidor se iniciará y se podrá acceder a través del navegador.
Este problema me ha pasado y me llevó bastante tiempo descubrir qué está pasando. Estoy ejecutando Eclipse Mars y Tomcat 7. En mi caso, la aplicación estaba tratando de imprimir todos los nombres de bean singleton en la consola, alrededor de varios miles de nombres de bean, por lo tanto, Eclipse se estaba volviendo loco.
org.springframework.beans.factory.support.DefaultListableBeanFactory#preInstantiateSingletons
if (this.logger.isInfoEnabled()) {
this.logger.info("Pre-instantiating singletons in " + this);
}
Pruébalo, pon el nivel de registro de la aplicación = ERROR. Espero que esto ayude a alguien.
Parece que Eclipse está verificando el estado de ejecución de Tomcat en: 8080.
Tuve un problema similar con Eclipse + Tomcat cuando desactivé todos los conectores pero uno para las conexiones SSL (: 8443).
Para evitar el problema, dejé ambos conectores : 8080 y: 8443 en mi servidor.xml.
Pude solucionar este problema haciendo lo siguiente:
- Haga clic derecho en el servidor Tomcat (bajo la perspectiva de Servidores Eclipse)
- Seleccione Abrir - debería abrir el editor xml
- Busque la sección Tiempos de espera y aumente el valor a> 45 s
Esto funciona con Eclipse Helios / Tomcat 7
Resuelvo este problema agregando
127.0.0.1 localhost
para el archivo de hosts localdns (C: / Windows / System32 / drivers / etc / hosts), parece que este problema se debe a un ipv6 en el nombre del host local.
Para saber si este es el problema, intente hacer ping al servidor local y ver si está resuelto ad ipv4 o ipv6.
Se metió en el mismo problema aquí. Traté de todas estas soluciones propuestas por los demás, nada de eso me funciona.
- cambie el puerto http 1.1 a 8090.
- agregue -Djava.net.preferIPv4Stack = verdadero a eclipse.ini (STS.ini en mi caso).
- en Ventana -> Preferencias -> General -> Conexiones de red, configure Proveedor activo en Directo o Manual.
- agregar 127.0.0.1 localhost al archivo de hosts localdns (C: / Windows / System32 / drivers / etc / hosts)
Finalmente me di cuenta de que todo esto sucede desde que puse la biblioteca nativa de tomcat. Lo eliminé y revertí todos los cambios anteriores, funciona ahora. De todos modos, gracias por todas sus ayudas que me ayudan a conectar el problema con la biblioteca nativa.
También debe verificar que no está ejecutando una versión reciente de java jdk (1.8 por ejemplo) si es el caso, configure su eclipse para usar y una versión anterior (1.7 por ejemplo).
Todavía enfrenta el mismo problema después de probar todas las soluciones anteriores. Resolví el problema agregando el conector http a server.xml. De hecho, antes de solucionar el problema, solo tengo el conector https. parece que eclipse busca el arranque de Tomcat al solicitar la url http, una vez que se elimina el eclipse no puede determinar si tomcat se inició correctamente.
Tuve un problema similar en mi sistema (Windows 7 pro 64 bit) , con Tomcat no comenzando desde ninguna versión de Eclipse. Resulta que, de manera predeterminada, Eclipse usa la configuración de red del sistema , y si ha configurado un proxy que no resuelve el host local, ¡el arranque de Tomcat se bloqueará en Eclipse !
Para ver si tiene este problema vaya a Window -> Preferences -> General -> Network Connections
y vea si una de las casillas está marcada. Pude anular mi configuración de proxy configurando Active Provider en Direct
(desmarca todas las casillas).
Una actualización de Java causó el mismo problema (entre otros) para mí. La actualización provocó que Eclipse utilizara ipv6 al hacer ping a Tomcat y por alguna razón eso no funciona con mi configuración.
Lo arreglé añadiendo
-Djava.net.preferIPv4Stack=true
Para eclipse.ini
.
Vaya a Windows -> Preferencias -> Conexiones de red -> hay un menú desplegable que tiene tres valores:
- Directo
- Manual
- Nativo
Por defecto es nativo, por lo tanto, seleccione el manual y haga clic en Aplicar .
Funcionará para Eclipse Juno EE con Tomcat 7.
haciendo doble clic en Servidor Tomcat v7.0 en localhost, cambie ''Nombre de host'' a su IP (IPv4). Solía ser ''localhost''