web-dev-qa-db-fra.com

Tomcat ne démarre pas via Eclipse (délai d'expiration)

J'essaie d'exécuter Tomcat via Eclipse. C’est quelque chose que je fais depuis plusieurs années. Cela fonctionnait hier et maintenant ce n'est pas le cas. L'erreur que je reçois est

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 sortie est

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

J'ai cherché une solution pendant plusieurs heures maintenant. Mais je n'ai eu aucun succès et c'est probablement quelque chose de simple. J'ai essayé ce qui suit:

  1. Supprimer Servir et le refaire dans Eclipse
  2. Redémarrer l'ordinateur, Eclipse
  3. Réinstallez Eclipse, Tomcat
  4. Démarrer Eclipse avec -clean
  5. Démarrer le serveur sans application Web
  6. Augmenter le délai d'attente

Je peux très bien démarrer Tomcat à partir de la ligne de commande. Cependant, je dois l'exécuter via Eclipse pour déboguer. Je suis au courant de ce SO post et l’ai parcouru avec beaucoup d’autres, sans succès. 

Pensées?

UPDATE: Je viens de me rendre compte que le serveur démarre. Cependant, l’une des dernières fonctions d’Eclipse échoue. Comment j'ai observé c'est en définissant le délai d'attente à 10 min. J'ai pu accéder au serveur pendant cette période, mais pas à la fonctionnalité de débogage d'Eclipse. Alors Eclipse démarre, essaie de faire quelque chose, que quelque chose ne se termine jamais, Eclipse arrête Tomcat après cette période. 

MISE À JOUR: en regardant ce qui s’est passé autour lorsque ce problème est apparu, l’ordinateur a apparemment installé une mise à jour Java.

31
Orlan

Une mise à jour de Java m'a causé le même problème (entre autres). La mise à jour a amené Eclipse à utiliser ipv6 lors de l'envoi d'une requête ping à Tomcat, ce qui ne fonctionne pas avec ma configuration.

Je l'ai corrigé en ajoutant

-Djava.net.preferIPv4Stack=true

Pour Eclipse.ini.

36
ekuusela

J'ai eu un problème similaire sur mon système (Windows 7 pro 64 bits) , Tomcat ne commençant pas par une version Eclipse. Il s’avère que par défaut Eclipse utilise la configuration du réseau système , et si vous avez configuré un proxy qui ne résout pas l’hôte local, le démarrage de Tomcat sera bloqué dans Eclipse !

Pour voir si vous avez ce problème, allez à Window -> Preferences -> General -> Network Connections et voyez si l'une des cases est cochée. J'ai pu redéfinir la configuration de mon proxy en définissant Fournisseur actif sur Direct (toutes les cases sont décochées).

22
David

J'ai trouvé que cela peut se produire en raison d'un fichier invalide/corrompu/??? points d'arrêt dans votre code lorsque vous démarrez dans "Debug". Il est souvent accompagné de temps de démarrage lents.

"Supprimer tous les points d'arrêt" m'a permis de résoudre ce problème.

19

Dans mon cas, j'avais désactivé le connecteur HTTP/1.1 sur le port 8080 au profit d'un connecteur HTTP/1.1 SSLEnabled (https) sur le port 8443. 

Je ne sais pas si la communication Eclipse/Tomcat a échoué à cause du mauvais port ou du mauvais protocole, mais j'ai rajouté le connecteur HTTP/1.1 sur le port 8080 dans mon server.xml 8443), Eclipse a pu détecter correctement le démarrage réussi de Tomcat.

Il semble que pour qu'Eclipse reconnaisse que Tomcat a démarré avec succès, Tomcat doit être configuré pour disposer d'un connecteur non SSL sur le port 8080.

7
Mark

J'ai pu résoudre ce problème en procédant comme suit:

  • Cliquez avec le bouton droit sur le serveur Tomcat (sous la perspective Serveurs Eclipse).
  • Sélectionnez Ouvrir - cela devrait ouvrir l'éditeur xml
  • Recherchez la section Timeouts et augmentez la valeur à> 45s

Cela fonctionne avec Eclipse Helios/Tomcat 7

6
idleworx

Couru dans le même problème ici. J'ai essayé toutes les solutions proposées par les autres, mais rien ne fonctionne pour moi.

  1. changez le port http 1.1 en 8090.
  2. ajoutez -Djava.net.preferIPv4Stack = true à Eclipse.ini (STS.ini dans mon cas).
  3. dans Fenêtre -> Préférences -> Général -> Connexions réseau, définissez Fournisseur actif sur Direct ou Manuel.
  4. ajouter 127.0.0.1 localhost au fichier hôtes localdns (C:\Windows\System32\drivers\etc\hosts)

Finalement, j'ai réalisé que tout cela se passait depuis que j'ai mis la bibliothèque native Tomcat dans. Quoi qu'il en soit, merci pour votre aide qui m'aide à relier le problème à la bibliothèque native.

4
Wayne Liu

Eh bien, j'ai essayé toutes ces options, je ne pouvais pas obtenir ma version récente de STS (Spring Tool Suite 3.7.1.201510041213-RELEASE) pour comprendre que Tomcat avait démarré.

J'ai essayé Tomcat 7.0.64, 8.0.26, 8.0.28. Tous avec les mêmes résultats. Les installations de Vanilla Tomcat ayant fonctionné, j’ai donc pensé que cela devait poser un problème avec server.xml (ou un autre fichier).

J'ai donc parcouru ligne par ligne jusqu'à ce que la vue du serveur cesse de détecter le statut démarré. En résumé, l'attribution de l'attribut secure (à n'importe quelle valeur, telle que false) sur un connecteur entraîne STS à supposer qu'il s'agit d'un autre gestionnaire SSL.

Par exemple:

<Connector secure="false" executor="conPool" port="8080" redirectPort="8443" protocol="HTTP/1.1" />

STS va paniquer, alors que:

<Connector executor="conPool" port="8080" redirectPort="8443" protocol="HTTP/1.1" />

Fonctionne comme prévu.

Il semble que STS suppose que le simple fait de disposer de l'attribut sécurisé, quelle que soit sa valeur, constitue un gestionnaire SSL. Les anciennes versions de STS ne semblent pas avoir ce problème cependant. Quelqu'un a déjà déposé un bogue très similaire .

Notez également que le volet de configuration du serveur affiche:

 enter image description here

Lorsque le fichier server.xml a l'attribut secure sur un connecteur non SSL (et que son comportement est quelque peu insignifiant), et que:

 enter image description here

Les ports normaux répertoriés lorsqu’il est supprimé.

3
Nick

Assurez-vous que Tomcat écoute réellement 127.0.0.1 lorsque le nom d'hôte est défini sur localhost.

Lors du démarrage du serveur Tomcat dans Eclipse, le journal affiche quelque chose comme:

10:07:23 INFO  main o.a.c.h.Http11NioProtocol Initializing ProtocolHandler ["http-nio-192.168.2.63-8080"]

La configuration de votre serveur Tomcat "Nom d'hôte" et le port HTTP/1.1 DOIVENT être résolus en adresse IP et port HTTP affichés (dans l'exemple donné, Port 19280 IP 192.168.2.63)

Cela a résolu le problème avec Eclipse 4.5 (Mars) & Tomcat 8

1
jprusch

J'avais bricolé avec mon fichier/etc/hosts et enlevé l'alias que j'avais configuré dans Eclipse. Alors

  1. Aller à la fenêtre> Afficher la vue> Serveurs
  2. Double-cliquez sur Tomcat v7.0 (c'est la version que j'ai obtenue)
  3. Dans le champ "Nom d'hôte:", vérifiez que vous avez un alias valide - en cas d'incertitude, utilisez localhost ou vérifiez/etc/hosts ou% systemroot%\system32\drivers\etc\hosts

Prolonger le délai d'attente ne fait que retarder l'inévitable, cela corrige le symptôme et non la cause.

1
jim.richards

J'ai rencontré le même problème. J'ai fait tout ça.

  1. Ajout de toutes les variables d'environnement dans les propriétés du système.
  2. Window -> Preferences -> General -> Network Connections transformé Fournisseur actif à Manuel .
  3. Ajout de -Djava.net.preferIPv4Stack=true après -vmargs dans Eclipse.ini fichier.
  4. Augmentation du délai d'attente de 45 secondes. 
  5. Mise à jour de l'éclipse.

J'espère que cela t'aides.. !!!

1
Kanishk Gupta

Ceci est un très vieux message mais aucune une de ces solutions ne fonctionnait pour moi. Je devais faire une combinaison de réponses dans cet article et d'autres pour que cela fonctionne. C'est ce que j'ai fait;

  • Ajouter 127.0.0.1 localhost au fichier hôte
  • Ajouter -Djava.net.preferIPv4Stack=true au fichier Eclipse.ini
  • Définissez Active Provider sur Manual dans Window > Preferences > General > Network Connections
  • Remplacez nom d'hôte dans Servers (view) > Overview (pane) par l'adresse IP du réseau de l'ordinateur.
  • Désactiver le rechargement automatique dans Server (view) > Module (pane) > Module (list item) > Edit (action button)

Références

1
Lordbalmon

Je faisais face au même problème et suivais la plupart des solutions proposées, mais elles ne fonctionnaient pas pour moi.

Un de mes aînés m'a dit la raison du problème. Auparavant, je créais une version pour l'environnement de transfert en utilisant mvn clean install -Pstaging , qui créait un fichier WAR dans le dossier cible de l'environnement de transfert. Désormais, chaque fois que je lance Tomcat, il utilisait le paramètre de la cible pour se connecter au serveur de base de données intermédiaire et ne parvenait pas à se connecter (rester bloqué à préparation du délégué de lancement).

Correction: Première exécution mvn nouvelle installation dans le répertoire de l’espace de travail puis dans Eclipse, cliquez avec le bouton droit de la souris sur project -> Maven -> Update Project. Maintenant, lancez Tomcat.

0
observer

Vous devez également vérifier que vous n'exécutez pas une version récente de Java jdk (1.8 par exemple) si c'est le cas, veuillez configurer votre Eclipse pour qu'il utilise une version plus ancienne (1.7 par exemple).

0
Foris

Pour ceux d'entre vous qui essaient de démarrer une application très chargée, avec beaucoup de journalisation de niveau INFO sur la console. Sachez que l’imprimante console Eclipse peut être confondue avec la quantité de données à imprimer et qu’elle est suspendue pendant une longue période, alors que le serveur sera démarré et accessible via un navigateur.

Ce problème m'est arrivé et m'a pris pas mal de temps pour comprendre ce qui se passe. J'utilise Eclipse Mars et Tomcat 7. Dans mon cas, l'application essayait d'imprimer tous les noms de beans singleton sur la console, environ plusieurs milliers de noms de beans, ce qui rendait Eclipse fou.

org.springframework.beans.factory.support.DefaultListableBeanFactory#preInstantiateSingletons

    if (this.logger.isInfoEnabled()) {
       this.logger.info("Pre-instantiating singletons in " + this);
    }

Essayez, mettez le niveau de journalisation de l'application = ERROR. J'espère que cela aidera quelqu'un.

0
Arthur Vin

J’ai rencontré ce problème aujourd’hui, j’ai suivi les instructions ci-dessus mais cela n’a pas fonctionné.Enfin, je supprime mes configurations Tomcat dans l’onglet Serveurs et en renouvelle un. les options sont grises et ne peuvent pas être modifiées, essayez de changer les options du serveur ci-dessous et cela fonctionnera.


PS: Ce problème ne semble pas avoir de lien avec les paramètres du proxy, car je choisis l’option Natif dans Connexions réseau et utilise également un proxy. Quand j'ai changé d'emplacement de serveur, Tomcat n'est plus bloqué, bien que l'onglet Délégué au lancement en préparation se soit affiché à nouveau.

0
Eric Ben

Перейдите в в Windows -> Nouvelle-Zélande -> Connexions réseau -> Dernière mise à jour: 24 heures sur 24:

  1. Непосредственный
  2. Руководство
  3. Родные

По умолчанию он является родным, поэтому выберите руководство et нажмитеApply,.

À propos de Eclipse Juno EE selon Tomcat 7.

0
user2700148

MODIFIER:

Assurez-vous que votre nom d’hôte est "localhost", ou si vous utilisez un fichier .__ spécifique. Adresse IP, assurez-vous que c’est l’adresse IP CORRECT de votre ordinateur a.

J'ai changé mon nom d'hôte de "localhost" en mon adresse IP spécifique (à l'époque). C'était pour résoudre un problème que j'ai rencontré lors du développement d'applications mobiles.

Mon problème était que mon adresse IP a changé. Donc mis à jour mon nom d’hôte avec ma nouvelle adresse IP. (Je reviendrai à localhost une fois que j'aurai terminé les tests mobiles).

Juste un heads-up, parfois c'est une solution simple. 

0
Stevers

On dirait que Eclipse vérifie l'état de fonctionnement de Tomcat sur: 8080.

J'ai eu un problème similaire avec Eclipse + Tomcat lorsque j'ai désactivé tous les connecteurs sauf un pour les connexions SSL (: 8443).

Afin d'éviter le problème, j'ai laissé les deux connecteurs: 8080 et: 8443 dans mon fichier server.xml.

0
avmusa

Je viens de remarquer la même erreur ici. Eclipse Juno + Apache 7 (7.0.27 et 7.0.29).

Le serveur démarre, je peux utiliser l’application, mais toujours une erreur de dépassement de délai.

Avec Eclipse Indigo SR2, il fonctionne correctement. J'ai aussi remarqué que mes variables Java_HOME et JRE_HOME ont été supprimées (peut-être à cause de certaines mises à jour Java), alors j'ai redéfini les variables.

0
xBellox

Toujours confronté au même problème après avoir essayé toutes les solutions ci-dessus. J'ai résolu le problème en ajoutant un connecteur http à server.xml . En fait, avant de résoudre le problème, je n'ai qu'un connecteur https. Il semble qu'Eclipse recherche le démarrage de Tomcat en demandant l'URL http. Une fois supprimé, Eclipse ne peut pas déterminer si Tomcat est démarré avec succès.

0
Mohamed Challouf

en double-cliquant sur Tomcat v7.0 Server sur localhost, remplacez "Nom de l'hôte" par votre IP (IPv4) . "Autrefois, il s'agissait de" localhost ".

0
damowang

Je résous ce problème en ajoutant 

127.0.0.1 localhost

to hôtes fichier localdns (C:\Windows\System32\drivers\etc\hosts), semble que ce problème est dû à un ipv6 sur le nom localhost.

Pour comprendre si tel est le problème, essayez de ping sur localhost et voyez si le problème est résolu avec ipv4 ou ipv6.

0
Tobia

Cela peut également se produire lorsque vous définissez le nom d'hôte dans les paramètres du serveur sur une valeur non valide.

0
Marc Johnen