8080-Port ist bereits beim Versuch, ein Projekt von der Spring Tool Suite IDE neu zu implementieren, ein Problem aufgetreten

9

Ich habe seltsame Dinge, wenn ich versuche, das Spring-Projekt in meiner Spring Tool Suite zu modifizieren. Beim ersten Laden (Bereitstellen) ist alles in Ordnung, die Anwendung kompiliert und läuft auf localhost: 8080

Wenn ich etwas im Code ändere und versuche, es erneut zu implementieren (Ausführen - Starten als Spring Boot-App), erhalte ich die Fehlermeldung

  

********************************************************      

Beschreibung:

     

Der Tomcat-Connector, der für die Überwachung von Port 8080 konfiguriert wurde, konnte nicht gestartet werden   Anfang. Der Port wird möglicherweise bereits verwendet oder der Anschluss ist möglicherweise   falsch konfiguriert.

     

Aktion:

     

Überprüfen Sie die Konfiguration des Anschlusses, identifizieren und stoppen Sie jeden Vorgang   das ist auf Port 8080 zu hören, oder konfigurieren Sie diese Anwendung zu hören   an einem anderen Port.

     

2016-10-19 00: 01: 22.615 INFO 10988 --- [main]   ationConfigEmbeddedWebApplicationContext: Schließen   org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@3023df74:   Startdatum [Mi 19. Oktober 00:01:19 CEST 2016]; Wurzel des Kontextes   Hierarchie 2016-10-19 00: 01: 22.616 INFO 10988 --- [main]   o.s.j.e.a.AnnotationMBeanExporter: Aufheben der Registrierung von JMX-exposed   Beans beim Herunterfahren

Wenn ich den Prozess an diesem Port manuell herunterfahre, funktioniert alles wieder gut, aber das kann nicht der richtige Weg sein, die Spring App neu zu implementieren. Mache ich hier etwas falsch?

Ich verwende :: Spring Boot :: (v1.4.1.RELEASE)

P.S. Ich bin mir bewusst, dass ich eine Art Hot-Swap-Mechanismus einrichten kann, um die Seite automatisch neu laden zu lassen, nachdem ich den Code geändert habe, aber jetzt möchte ich dieses Problem zuerst lösen.

Danke für jede Art von Hilfe oder Info.

    
Technogeek 18.10.2016, 22:05
quelle

12 Antworten

12

Sie müssen den aktuellen Prozess stoppen und Ihren neuen laufen lassen. In Eclipse können Sie diese Schaltfläche drücken, um Ihre Anwendung erneut zu starten:

    
lukle 19.02.2017 11:11
quelle
9

Manchmal passiert es sogar, wenn wir die Prozesse in der IDE mit Hilfe der roten Taste stoppen, wir bekommen immer den gleichen Fehler (ich weiß nicht wie, aber es ist mir passiert)

Es wurde mit den folgenden Schritten gelöst,

  1. Überprüfen Sie, welche Prozesse an verfügbaren Ports ausgeführt werden

    netstat -ao |find /i "listening"

    Wir bekommen folgende

    TCP 0.0.0.0:7981 machinename:0 LISTENING 2428 TCP 0.0.0.0:7982 machinename:0 LISTENING 2428 TCP 0.0.0.0:8080 machinename:0 LISTENING 12704 TCP 0.0.0.0:8500 machinename:0 LISTENING 2428

    d. Portnummern und welche Prozess-ID sie hören

  2. Stoppen Sie den Prozess an Ihrer Port-Nummer (In diesem Fall ist es 8080 & amp; Process Id ist 12704)

    Taskkill /F /IM 12704 (Hinweis: Geben Sie die richtige Prozess-ID an)

Mein Problem wurde damit gelöst, hoffe das hilft!

    
rdj7 11.11.2017 06:33
quelle
7

In meinem Fall ist der Fehler aufgetreten, da die Anwendung nicht auf den Keystore für SSL zugreifen konnte.

Das Starten der Anwendung als root-Benutzer hat das Problem behoben.

    
Registered User 24.02.2017 15:46
quelle
3

Dies ist ein typischer Startfehler, weil der Port des eingebetteten Servlet-Containers verwendet wird.

Ihr eingebetteter Tomcat-Container konnte nicht gestartet werden, weil Port 8080 bereits verwendet wurde.

Identifizieren und stoppen Sie einfach den Prozess, der an Port 8080 überwacht wird, oder konfigurieren Sie (in Ihrer application.properties -Datei) diese Anwendung, um sie an einem anderen Port abzurufen.

    
georges van 18.10.2016 23:41
quelle
2

Wenn auf Ihrer Konsole ein Fehler auftritt, indem Sie sagen: "Der eingebettete Servlet-Container konnte nicht gestartet werden. Port 8080 wurde bereits verwendet. "Gehen Sie dann zur Datei application.properties und fügen Sie diese Eigenschaft" server.port = 8090 "hinzu.

Eigentlich ist der Standard-Port für Spring-Boot 8080, wenn Sie etwas anderes an diesem Port haben, tritt der obige Fehler auf. Daher fordern wir einen Spring-Boot-Start auf einem anderen Port an, indem wir in der Datei application.properties "server.port = 8090" hinzufügen.

Siehe diesen Link - Ссылка

    
Hari Tummala 20.11.2017 13:28
quelle
2

Es gibt zwei Möglichkeiten, um dieses Problem zu lösen.Wählen Sie zunächst Option 1, wenn es nicht funktioniert, versuchen Sie Option 2, und Ihr Problem ist gelöst.

1) In der oberen rechten Ecke Ihrer Konsole befindet sich eine rote Taste, mit der Sie die Spring Boot-Anwendung stoppen können, die bereits auf diesem Port läuft. Klicken Sie einfach auf die rote Schaltfläche, um zu beenden.

2) Wenn der rote Knopf nicht aktiviert ist, müssen Sie mit der rechten Maustaste auf die Konsole klicken und alle beenden / trennen. Hoffe, das hilft.

Bonus-Tipp: - Wenn Sie Ihren Server auf einem anderen Port Ihrer Wahl betreiben wollen, erstellen Sie eine Datei mit dem Namen application.properties im Ressourcenordner Ihres Maven-Projekts und schreiben Sie server.port = 3000, um Ihre Anwendung auf Port 3000 auszuführen

    
Shubham Chopra 19.03.2018 07:05
quelle
2
  

Tue ich hier etwas falsch?

Ja, das bist du. Starten Sie den Server entweder neu (wenn in STS dafür eine Schaltfläche vorhanden ist) oder stoppen Sie ihn und starten Sie ihn. Ein Servlet-Container wird bereits auf Port 8080 ausgeführt, und Sie versuchen, erneut einen Port auf Port 8080 auszuführen.

    
so-random-dude 18.10.2016 22:10
quelle
1

Klicken Sie einfach auf die rote Schaltfläche, um alle Dienste auf Eclipse zu stoppen, als die Anwendung als Spring Boot-Anwendung neu zu starten - das funktionierte für mich.

    
besartm 28.10.2017 22:46
quelle
1

Öffnen Sie "localhost: 8080" in Ihrem Browser und sehen Sie, was an diesem Port läuft. Ich habe es getan und ich habe gerade Oracle 10g XE im Hintergrund laufen, also ging ich zu Start-Services und stoppte alle Orakel-Dienste. Dann wiederhole ich mvnw spring-boot:run auf IntelliJ und es läuft wie Magie.

    
samivic 05.02.2018 20:55
quelle
1

Speichern Sie auf Linux-Rechner das Bash-Skript und führen Sie es aus. Wenn Sie Port 8080 freigeben möchten, geben Sie 8080 ein, wenn Sie dazu aufgefordert werden

%Vor%     
singh30 19.03.2018 09:08
quelle
0

Für Mac-Benutzer (OS X El Capitan): Sie müssen den Port beenden, auf dem localhost: 8080 läuft. Dazu müssen Sie zwei Befehle im Terminal ausführen.

sudo lsof -i tcp: 8080

kill -15 PID

Achtung! PID IST EINE NUMMER, DIE DURCH DEN ERSTEN BEFEHL ZUR VERFÜGUNG GESTELLT WIRD.

Der erste Befehl gibt Ihnen die PID für den localhost: 8080. Ersetzen Sie die PID im zweiten Befehl durch die PID, die Sie mit dem ersten Befehl erhalten, um den Prozess auf localhost: 8080 zu beenden.

    
jsog 28.03.2018 19:13
quelle
0

hi Erstellen einer einfachen Zeile in application.properties als SERVER_PORT = 8090 löste das Problem.

    
mohan krishna 05.04.2018 12:20
quelle