Plusieurs ports (8005, 8080, 8009) requis par le serveur Tomcat à localhost sont déjà utilisés

Je reçois l'erreur suivante lorsque j'essaie d'exécuter un simple programme JSP sur Tomcat dans Eclipse.

Plusieurs ports (8005, 8080, 8009) requis par le serveur Tomcat v6.0 de localhost sont déjà utilisés. Le serveur peut déjà être en cours d'exécution dans un autre processus, ou un processus système peut utiliser le port. Pour démarrer ce serveur, vous devez arrêter l'autre processus ou modifier le(s) Numéro (s) de port.

Comment est-ce causé et comment puis-je le résoudre?

231
demandé sur BalusC 2011-02-21 13:19:49

30 réponses

Vous avez déjà une autre instance de Tomcat en cours d'exécution. Vous pouvez le confirmer en accédant à http://localhost:8080 dans votre navigateur Web et vérifier si vous obtenez la page D'accueil par défaut de Tomcat ou une page d'erreur 404 spécifique à Tomcat. Les deux sont une preuve tout aussi valable que Tomcat fonctionne bien; si ce n'était pas le cas, vous auriez reçu un message d'erreur de délai de connexion HTTP spécifique au navigateur.

Vous devez l'arrêter. Accédez au sous-dossier /bin du dossier D'installation Tomcat et exécutez shutdown.bat (Windows) ou shutdown.sh (Unix) script. Si en vain, fermez Eclipse, puis ouvrez le Gestionnaire des tâches et tuez tous les processus java et/ou javaw.

Ou si vous l'avez réellement installé en tant que service Windows pour une raison quelconque (c'est à savoir destiné à la production et inutile lorsque vous êtes en train de développer), ouvrez le gestionnaire de services (Démarrer > Exécuter > services.msc ) et arrêter le service Tomcat. Si nécessaire, désinstallez complètement le service Windows. Pour le développement, juste le fichier ZIP est suffisant.

Ou si votre intention réelle est d'exécuter deux instances de Tomcat simultanément, alors vous devez configurer la deuxième instance pour écouter sur différents ports. Consultez la documentation Tomcat pour plus de détails.

424
répondu BalusC 2018-07-03 13:35:33
kill $(ps -aef | grep java | grep apache | awk '{print $2}')
  • pas besoin de redémarrer Eclipse
  • Si vous obtenez l'erreur ci-dessus, entrez simplement cette ligne dans le terminal
  • Redémarrez le tomcat dans Eclipse.
  • fonctionne uniquement dans le système basé sur Linux (Ubuntu ..etc)
47
répondu Shan 2016-05-11 19:04:17

Si vous utilisez windows, essayez ceci dans l'invite de ligne de commande:

netstat -ano

Cela affichera tous les ports utilisés et L'id de processus PID # du processus qui utilise ce port. Alors Ctrl+Alt+Del et ouvrez le Gestionnaire des Tâches pour voir quel processus est que.

Vous pouvez alors choisir de fermer/arrêter ou configurer votre serveur pour utiliser un autre port. Pour vérifier si le nouveau port choisi (disons 8010) est disponible, procédez comme suit:

netstat -ano | grep 8010

Si ce n'est pas le cas retournez toutes les lignes alors vous allez bien.

Pour changer le port d'aller à la vue Serveur, ouvrez serveur.xml et changer le port. Le mien a cette entrée:

Connector port="8010" protocol="AJP/1.3" redirectPort="8443"
27
répondu Mau 2016-01-12 10:42:21

Si vous êtes sur un environnement mac, Voici ce que j'ai fait.

Trouvez l'id de processus en cours d'exécution sur ce port à partir du terminal, par exemple, 8080:

lsof -i :8080

Et tuez-le:

kill -9 <PID>
20
répondu Timeless 2017-05-23 12:18:21

Étapes pour libérer le port qui est déjà utilisé pour exécuter le serveur tomcat dans Eclipse

Par exemple , supposons que le port 8080 soit utilisé, nous devons rendre libre 8080 pour exécuter tomcat

Étape 1:

C:\Users\username>netstat-o-n-a / findstr 0.0: 8080

TCP 0.0.0.0: 3000 0.0.0.0: 0 ÉCOUTE 3116

Maintenant, nous pouvons voir que le port D'écoute est 3116 pour 8080,

Nous devons tuer 3116 maintenant

Étape 2: -

C:\Users\username>taskkill /F / PID 3116

Étape 3: Allez à Eclipse et démarrez le serveur, il s'exécutera

13
répondu Sachindra N. Pandey 2016-06-24 08:00:28

Si Eclipse dit

Plusieurs ports (8005, 8080, 8009) requis par le serveur Tomcat v6.0 à localhost sont déjà utilisés

Cette erreur vient parce que tomcat peut être en cours d'exécution en arrière-plan, alors arrêtez d'abord ce serveur..suivez les détails ci-dessous.

La Solution est:

  1. ouvrez la vue "console" (Fenêtre - > Afficher la vue - > Console)
  2. ensuite, arrêtez le serveur tomcat.
  3. Ensuite, ouvrez la vue "serveur" et démarrez le serveur qu'il va travail.

Merci!

12
répondu Ashu Phaugat 2013-02-11 06:04:55

Si vous utilisez Eclipse, double-cliquez sur les serveurs et double-cliquez sur le serveur tomcat, un fichier s'ouvrira. Dans ce fichier, changez le port HTTP en un autre numéro de port et enregistrez (Ctrl+S) puis redémarrez le serveur.

12
répondu abc 2016-01-16 14:08:47

Je n'ai pas d'autre instance de Tomcat exécutant ad aucun autre processus utilisant "Tomcat port" (dans mon cas, le port 8088). Eclipse envoie le même message au démarrage de Tomcat:

....Le serveur peut déjà être en cours d'exécution dans un autre processus, ou un processus système peut utiliser le port. Pour démarrer ce serveur, vous devez arrêter l'autre processus ou modifier le(s) Numéro (s) de port.

Je résous le problème de cette façon:

  • aller à la corbeille de tomcat par invite
  • lancement démarrage.MTD
  • lancer l'arrêt.MTD
  • démarrer tomcat par Eclipse
9
répondu giocorito 2011-11-09 11:07:18

Ce que j'ai fait après avoir lu toute la réponse suggérée et comme je le sais mon port était déjà utilisé. J'ai double-cliqué sur Tomcat sous L'onglet Serveurs dans eclipse et il a ouvert les informations de vue d'ensemble, puis trouver des informations sur le port. Juste changé le port en conflit car le mien était le port 8009 (erreur mentionnée lors du démarrage du serveur). Je l'ai changé en 8008 et cela fonctionne très bien. Essayez si le port modifié ne serait pas utilisé, le serveur démarrera.

6
répondu DeVilCry2ME 2013-01-12 05:22:24

Étape 1: netstat-a-o-N et il fera apparaître une liste de réseau, recherchez l'adresse locale comme 127.0.0.1: 8080 et notez le PID (eq 3624)

C:\>netstat -a -o -n

Etape 2: taskkill /F /PID 3624 . Exécutez cette commande pour tuer ce processus.

C:\>taskkill /F /PID 3624

Lien vers poste

6
répondu Sandeep Bhardwaj 2015-10-12 10:49:21

sous Windows utilisez la commande pour arrêter l'instance tomcat déjà en cours d'exécution et essayer de l'exécuter à nouveau dans eclipse, cela peut fonctionner.

net stop tomcat7 

Ou vous pouvez Changer le port dans XML du serveur Si vous voulez juste exécuter sur d'autres ports.

4
répondu Gauranga 2018-05-31 07:02:24

Moyen Facile de résoudre votre problème:

Le serveur est peut-être déjà en cours d'exécution dans un autre processus, ou un processus système peut utiliser le port. Pour tuer ce port, procédez comme suit:

1) Téléchargez TCPView (seulement 285kb) à partir du lien suivant.

Http://technet.microsoft.com/en-in/sysinternals/bb897437.aspx

2) extraire le dossier et démarrer TCPView application.

3) Faites un clic droit sur java.exe (parce que 8009,8005 ports sont généralement utilisé par le processus java) et sélectionnez l'optionend Process .

Cela arrêterait facilement un autre processus..

Remarque : exécution de TOMCATPATH / bin / shutdown.bat ne peut pas arrêter Tomcat quand il contient un démon ou non géré threads. Dans de tels cas, TCPView fonctionne correctement sans aucun problème.

3
répondu shivadarshan 2014-10-01 08:09:10

Si vous êtes en Java EE prospective dans Eclipse et que vous essayez de démarrer le serveur Tomcat dans Eclipse en mode débogage, vous obtiendrez de telles erreurs. Vous devez passer à debug prospective dans Eclipse. J'ai résolu mon problème comme celui-ci.

2
répondu Jitendra 2012-02-09 11:35:43

Parfois, si les ports ne sont pas libérés même après une tentative d'arrêt.bat ce que @ BalusC a suggéré, vous pouvez tuer le processus javaw. Procédez comme suit:

  1. Cliquez sur le menu Démarrer et ouvrez "Windows powershell"
  2. Faites un clic droit avant d'ouvrir et sélectionnez "Exécuter en tant qu'administrateur"
  3. Entrez la commande ps. Vous pouvez voir une image comme suit : Powershell montrant proesses en cours d'exécution

  4. Voir le numéro de processus du processus "javaw".Le numéro de processus est le nombre le plus à droite dans les colonnes, j'ai mis en évidence dans le numéro de processus d'image de javaw par exemple.

  5. Entrez la commande tuer . javaw est tué et maintenant vous devez être en mesure d'exécuter le programme.

2
répondu Tiny Jaguar 2014-08-15 21:57:24

Voici une autre option à essayer si aucun des efforts ci-dessus n'a aidé. Vous pouvez utiliser Eclipse à partir d'un lecteur partagé (par exemple, H:). Si c'est le cas, déplacez/Copiez-le tout le répertoire Eclipse vers C: et réessayez.

Mon Eclipse n'a pas pu ouvrir les ports pour le serveur Tomcat (avec l'erreur ci-dessus), ni même se connecter à internet. J'ai également essayé un autre plugin Tomcat (Sysdeo) qui n'a pas réussi à ouvrir les ports aussi.

Ce sont les options que j'ai essayées:

Vérifier et tuer D'autres Tomcat Les Instances

  • dans l'invite de commande, netstat -ano et vérifiez si d'autres processus utilisent les ports en conflit.
  • trouvez le PID et tuez-le
  • essayez de redémarrer le serveur.

Modifier les Ports Tomcat dans Eclipse

  • dans L'onglet Eclipse Server, double-cliquez sur L'instance Tomcat. Cela ouvrira l'onglet configuration.
  • sous Ports, modifiez les numéros de ports. (par exemple, 18080).

Tuez java.exe et javaw dans

Voir mon autre réponse pour Eclipse ne se connectant pas à Internet ( https://stackoverflow.com/a/37246087/4212710).

2
répondu typoerrpr 2017-05-23 11:55:10

Pour les utilisateurs windows:

Accédez directement au Gestionnaire des tâches avec la combinaison de touches CTRL+Maj+Echap.

Tuer le " java.exe "traite en cliquant avec le bouton droit de la souris et en sélectionnant "fin de la tâche".

2
répondu Arif Acar 2016-12-29 07:53:28

J'ai vérifié toutes les réponses, mais informing only to kill PID.

Dans le cas où Vous avez un accès au terminal partagé par tous cela n'aidera pas ou peut-être que vous n'avez pas la permission de tuer PID.

Dans ce cas, ce que vous pouvez faire est:

Double click on server

Go to Overview and change ports in Ports comme ceci:

entrez la description de l'image ici

1
répondu v8-E 2018-08-21 03:53:35

Sur Eclipse, effectuez une suppression brute du dossier de configuration Tomcat sous le projet "serveurs". Je l'ai essayé comme dernier espoir et cela a fonctionné.

0
répondu giocorito 2012-11-29 14:09:47

Dans le cas de windows, j'ai expérimenté un nouveau truc... l'arrêt de tomcat à partir du dossier / bin ne libère pas immédiatement le port 8080. Il faut environ 5-10 minutes pour libérer le port. Après 10 minutes encore si j'essaie de lancer mon projet Exécuter - > exécuter sur le serveur .. il permet de lancer des.

Je ne sais pas si ma compréhension est correcte!

0
répondu Laxman 2013-04-22 06:57:40

Consultez le blog suivant: "comment tuer tomcat sans avoir à redémarrer votre ordinateur"

Http://stanicblog.blogspot.fr/2012/01/how-to-kill-apache-tomcat-without.html

J'espère que cela aidera quelqu'un dans le futur.

0
répondu Edmund Ng 2013-10-02 19:05:33

La solution la plus simple qui fonctionne pour moi est de supprimer mes webapps déployées actuelles de tomcat via l'onglet "Serveur". Une fois que je les supprime, le problème disparaît. Il suffit de redéployer votre projet en allant sur Exécuter en tant que > exécuter sur le serveur.

0
répondu Felipe Leão 2014-01-28 11:44:42

Cela se produit lorsque d'autres dans le projet utilisent également les mêmes numéros de port que vous utilisez! double-cliquez sur le serveur tomcat, changez les numéros de port en n'importe quoi 8585 ou autre. Le code va maintenant commencer à fonctionner!

0
répondu Shivendra 2014-06-27 07:20:09

Le problème se pose souvent lorsque Apache Tomcat ne parvient pas à se terminer correctement, même si une instruction d'arrêt a été envoyée. Dans mon cas, en utilisant Tomcat 8, cela se produit avec une régularité ennuyeuse. Heureusement, vous pouvez utiliser Windows PowerShell et la commande netstat pour créer un script simple pour tuer le processus.

Le script PowerShell suivant analysera la sortie de netstat pour trouver tout processus qui écoute sur 127.0.0.1:8005, extraire son PID et ensuite tuer ce processus:

netstat -a -o -n `
 | select -skip 4 `
 | % {$a = $_ -split ' {3,}'; New-Object 'PSObject' -Property @{Original=$_;Fields=$a}} `
 | ? {$_.Fields[1] -match '127\.0\.0\.1\:8005$'} `
 | % {Write-Host "Killing PID" $_.Fields[4] "..."; taskkill /F /PID $_.Fields[4] }

Si votre server.xml Configure Tomcat pour utiliser un port ou une adresse IP différente, modifiez l'expression régulière sur la quatrième ligne du script en conséquence.

Enfin, je dois souligner que la situation est meilleure sur Linux car vous pouvez demander à Tomcat d'enregistrer son PID dans un fichier au démarrage et d'utiliser un commutateur pour forcer l'arrêt, plus tard - le script d'arrêt pour 'Nix systems dispose déjà de la possibilité de tuer le processus et le sleuth-work avec netstat n'est pas

0
répondu Xharlie 2016-03-26 16:43:00

Comment tuer un service windows en utilisant PID -

  1. ouvrez l'invite de commande et tapez netstat -ano
  2. Trouver le PID des ports qui sont utilisés, dans ce cas, il sera 8080, 8005,8009. Disons que PID de ces ports sont 5760.
  3. Saisissez Maintenant taskkill /f /pid 5760
  4. il fermera le PID et les ports seront disponibles pour une utilisation. Maintenant, vous pouvez démarrer tomcat comme d'habitude par les services Windows ou par eclipse lui-même.

Merci

Tuer un service Windows qui est bloqué sur arrêt ou démarrage

0
répondu Pankaj Barnwal 2016-04-12 02:15:50

Plusieurs ports (8005, 8080, 8009) requis par Tomcat vX.X Server à localhost sont déjà en cours d'utilisation

Pour vérifier si une autre instance de Tomcat est déjà en cours d'exécution ou si un autre processus utilise les ports que vous pouvez utiliser:

netstat -b -a dans l'invite de commande de windows. Cela répertorie les ports utilisés et vous donne l'exécutable qui utilise chacun d'eux. Vous devez être dans le groupe admin pour le faire.

, Vous pourriez obtenir quelque chose comme ceci:

TCP 192.168.0.1:8009 192.168.0.1:0 LISTENING 196 [Tomcat7.exe]

TCP 192.168.0.1:8080 192.168.0.1:0 LISTENING 196 [Tomcat7.exe]

TCP 192.168.0.1:8005 192.168.0.1:0 LISTENING 196 [Tomcat7.exe]

Ouvrez le gestionnaire des tâches Ctrl+Maj+Esc, et de tuer Tomcat7.exe, ou tout autre processus à l'aide de ces ports.

0
répondu Zeeshan 2017-01-02 07:46:41

Votre Tomcat est probablement déjà en cours d'exécution. C'est pourquoi vous avez eu une erreur. J'ai eu le même problème avant. Je l'ai résolu très simplement:

  1. Redémarrez votre ordinateur
  2. Ouvrir Eclipse
  3. Exécutez votre Tomcat

C'est tout.

0
répondu Purgoufr 2017-02-05 12:05:41

Dans le système d'exploitation windows, faites un clic droit sur la barre des tâches- > démarrer le Gestionnaire des tâches - > processus, puis cochez java.exe ou javaw est en cours d'exécution s'il est en cours d'exécution, puis cliquez dessus et terminez le processus, puis redémarrez votre serveur tom cat.

  1. parfois skype occupera le port 80 dans ce cas, modifiez les paramètres skype et mettez 81 pour skype ou modifiez la configuration tomcat.
0
répondu Vasundhara 2017-03-21 06:25:54

Si le problème ci-dessus se produit dans le système D'exploitation Windows 7 ou 10, le problème se produit car Tomcat s'exécute en tant que service Windows. Pour arrêter Tomcat en tant que Services Windows, ouvrez le Panneau de configuration Windows. Trouvez le service "Apache Tomcat" et arrêtez-le. L'autre façon est de tuer le processus en cours d'exécution sur le port 8080 en utilisant cmd.

Ouvrez cmd en cours d'exécution en tant qu'administrateur.

  1. C:\users\username>netstat-o-n-a / findstr 0.0: 8080
  2. TCP 0.0.0.0: 8080 0.0.0.0: 0 Écoute 2160.
  3. Le 2160 ci-dessus est l'id de processus du processus s'exécutant sur le port 8080 et tue ce processus en utilisant la commande suivante
    C:\users\username>taskkill /F / PID 2160
  4. allez dans IDE et démarrez le serveur, il fonctionnera
0
répondu Shreeram Reddy 2018-01-01 03:02:58

C'est peut-être parce que vous n'arrêtez pas votre service tomcat correctement. Pour ce faire, Ouvrez votre gestionnaire de tâches là, vous pouvez voir un javaw.exe service. Arrêtez d'abord ce service. Maintenant, redémarrez votre tomcat cela fonctionne bien.

0
répondu Ramki 2018-06-16 04:19:51

Vous N'avez pas besoin de fermer votre IDE eclipse.Votre Tomcat est probablement déjà. C'est pourquoi vous avez eu une erreur.

Ouvrez le répertoire tomcat >> bin > > à partir du terminal de commande (dans mon cas, c'est tomcat9)

Entrez la commande

./shutdown.sh

Il fermera votre Tomcat en cours d'exécution

entrez la description de l'image ici

0
répondu Kamran 2018-10-03 12:40:40