web-dev-qa-db-fra.com

Application Spring Boot dans Eclipse, le démarrage du connecteur Tomcat configuré pour écouter sur le port XXXX

Je développe une API REST à l'aide de Spring Framework

D'abord, je n'ai pas pu exécuter mon application à cause du même problème. Le port 8080 de mon ordinateur est occupé. Ensuite, j'ai découvert qu'une solution pour résoudre ce problème consiste à créer un fichier application.properties dans le dossier src/main/resources. C'est ce que j'ai fait et configuré le serveur pour qu'il écoute sur le port 8090. Cela fonctionnait, mais seulement pour la première fois. Maintenant, je reçois la même exception chaque fois que j'essaie d'exécuter l'application pour la deuxième fois.

Description:

The Tomcat connector configured to listen on port 8090 failed to start. The port may already be in use or the connector may be misconfigured.

Action:

Verify the connector's configuration, identify and stop any process that's listening on port 8090, or configure this application to listen on another port.

Autant que je sache, cette infrastructure utilise une instance intégrée d'Apache Tomcat pour déployer chaque application.

Mon estimation est que le serveur ne sera pas redémarré la deuxième fois que j'essaye d'exécuter l'application. C'est pourquoi le résultat dit "Le port est peut-être déjà utilisé ou le connecteur est peut-être mal configuré"

Une question plus spécifique serait donc: comment puis-je gérer l'instance intégrée d'Apache Tomcat de manière manuelle ou programmatique?

J'ai également modifié le port dans le fichier application.properties à deux reprises. Cela fonctionne bien, mais encore une fois, seulement pour la première fois. Comme vous pouvez l'imaginer, je ne peux pas faire la même chose chaque fois que l'application va être exécutée.

32
Sandoval0992

Sur la console, à l'extrême droite de la boîte de dialogue, vous devriez voir un bouton rouge un peu comme une sonnerie. Pour arrêter correctement l’application de démarrage printanière que vous venez de lancer, continuez et appuyez sur le bouton "rouge" afin de résoudre votre problème. J'espère que cela t'aides!

35
Edge
  1. Recherchez l'ID de processus (PID) du port (par exemple: 808).

    Sous Windows:

    netstat -ao | find "8080"
    

    Autres plates-formes autres que Windows:

    lsof -i:8080
    
  2. Éliminez l'identifiant de processus que vous avez trouvé (par exemple: 20712)

    Sous Windows:

    Taskkill /PID  20712 /F
    

    Autres plates-formes autres que Windows:

    kill -9 20712   or kill 20712
    
52
sy456

Un autre moyen facile de résoudre cette erreur consiste à cliquer avec le bouton droit de la souris sur la console et à cliquer sur Terminer/déconnecter tout. Ensuite, lancez l'application, cela devrait fonctionner correctement.

23
DvixExtract

C'est parce que vous n'arrêtez pas votre application, avant de la démarrer une autre fois, c'est pourquoi il est indiqué que le port est déjà utilisé.

Vous devez toujours arrêter l'application avant de la redémarrer, sinon vous rencontrerez des problèmes de conflit de port.

En fonction de votre plate-forme, si vous l'exécutez sous Windows, vous pouvez utiliser netstat -anp | find "port number" ou si vous l'exécutez sous Linux, vous pouvez utiliser netstat -ntpl | grep "port number" ou, si vous utilisez mac, utilisez lsof -n -iTCP:"port number".

10
Amit Khandelwal

Je fais déjà face à ce problème quand je lance la première fois et puis encore une fois, je veux lancer un autre projet que j'ai obtenu:

The Tomcat connector configured to listen on port 8088 failed to start. The port may already be in use or the connector may be misconfigured.

Action:

Verify the connector's configuration, identify and stop any process that's listening on port 8088, or configure this application to listen on another port.

Et finalement j'ai la solution pour cela qui est donnée dans la capture d'écran ci-dessous:

enter image description here

Faites un clic droit sur Console onglet -> et sélectionnez Terminer/déconnecter tout Et Maintenant, essayez d'exécuter votre code.

Remarque : N'oubliez pas d'arrêter votre serveur avant de redémarrer.

10
Tell Me How

Trouvez le processus et terminez-le. Sous Windows, effectuez les opérations suivantes: Ctrl + Alt + Suppr, puis recherchez le processus "Java binaire SE de la plate-forme Java (TM)" sous l'onglet Processus. Par exemple: enter image description here

Sur Ubuntu, vous pouvez utiliser "ps aux | grep Java" pour trouver le processus et "kill -9 PID_NUMBER" pour tuer le processus.

OR

Si vous utilisez une application de démarrage Spring, accédez à application.properties et ajoutez ceci:

server.port = 8081
9
Gene

Si votre application est exécutée sur httpS, assurez-vous de mettre les bonnes valeurs sous les propriétés suivantes:

server.ssl.key-store-password=
server.ssl.key-alias=

J'ai la même erreur quand je mets les mauvaises valeurs ici

3
Filip
  1. vérifiez le port occupé: netstat -ntlp
  2. tuer ce port: kill -9 xxxx
2
alok

Il existe deux options pour gérer/éviter cette situation.

  1. Avant de relancer l'application, il suffit de mettre fin à la connexion précédente.

    • Open the console --> right click --> terminate all.
  2. Si vous avez oublié d'exécuter l'action, mentionnez à l'étape 1, puis

    • Déterminez le port utilisé par votre application, vous pouvez voir la trace de la pile dans la fenêtre de la console.
    • Identifiez l'ID de processus associé au port en exécutant la commande netstat -aon dans cmd
    • Tuez ce processus et réexécutez l'application.
1
Ashish Patel

Sous Windows:

Pour commencer, ouvrez la commande Invite en cliquant sur Démarrer, puis en tapant cmd. Dans la fenêtre de commande, continuez et tapez la commande suivante:

netstat -a -n -o

Dans la commande ci-dessus, le paramètre -o est ce qui va ajouter le PID à la fin de la table. Appuyez sur Entrée et vous devriez voir quelque chose comme ça:

enter image description here

Maintenant, pour voir le nom du processus utilisant ce port, accédez au Gestionnaire des tâches en appuyant sur CTRL + MAJ + ÉCHAP, puis cliquez sur l'onglet Processus. Sous Windows 10, vous devez cliquer sur l'onglet Détails.

Par défaut, le gestionnaire de tâches n'affiche pas l'ID de processus. Vous devez donc cliquer sur Afficher, puis sur Sélectionner les colonnes.

Vous devrez peut-être également rechercher des services fonctionnant en arrière-plan. Pour ce faire, cliquez avec le bouton droit de la souris et sélectionnez les services ouverts comme indiqué ci-dessous:

enter image description here

J'espère que ça aide :)

1
Devender Goyal

ce problème peut être résolu de deux manières:

  1. Kill application fonctionnant sur 8080
netstat -ao | find "8080"

Taskkill /PID 1342 /F
  1. changer le port du serveur Spring dans le fichier application.properties

server.port = 8081

0
Sumit Jadiya