it-swarm.com.de

Mehrere von Tomcat Server unter localhost benötigte Ports (8005, 8080, 8009) werden bereits verwendet

Ich erhalte die folgende Fehlermeldung, wenn ich versuche, ein einfaches JSP-Programm auf Tomcat in Eclipse auszuführen. 

Mehrere von Tomcat v6.0 Server unter localhost benötigte Ports (8005, 8080, 8009) werden bereits verwendet. Der Server ist möglicherweise bereits in einem anderen Prozess ausgeführt, oder ein Systemprozess verwendet den Port. Um diesen Server zu starten, müssen Sie den anderen Vorgang stoppen oder die Portnummern ändern.

Wie wird das verursacht und wie kann ich es lösen?

240
elle

Sie haben bereits eine andere Instanz von Tomcat ausgeführt. Sie können dies bestätigen, indem Sie in Ihrem Webbrowser zu http://localhost:8080 gehen und prüfen, ob die Standard-Homepage von Tomcat oder eine Tomcat-spezifische 404-Fehlerseite angezeigt wird. Beide sind gleichwertige Beweise dafür, dass Tomcat gut läuft; Andernfalls hätten Sie eine browserspezifische HTTP-Verbindungszeitüberschreitungsmeldung erhalten.

Sie müssen es herunterfahren. Wechseln Sie in den Unterordner /bin des Tomcat-Installationsordners und führen Sie das Skript shutdown.bat (Windows) bzw. shutdown.sh (Unix) aus. Schließen Sie in diesem Fall Eclipse, öffnen Sie den Task-Manager und beenden Sie alle Java- und/oder javaw-Prozesse. 

Wenn Sie ihn aus irgendeinem Grund tatsächlich als Windows-Dienst installiert haben (dies ist nämlich für die Produktion gedacht und ist nicht hilfreich, wenn Sie gerade entwickeln), öffnen Sie den Dienste-Manager ( Start> Ausführen> services.msc ) und stoppen Sie der Katerdienst. Deinstallieren Sie gegebenenfalls den Windows-Dienst vollständig. Für die Entwicklung genügt die Zip-Datei.

Wenn Ihre actual intent zwei Instanzen von Tomcat gleichzeitig ausführen soll, müssen Sie die zweite Instanz so konfigurieren, dass sie auf verschiedene Ports wartet. Weitere Informationen finden Sie in der Tomcat-Dokumentation.

440
BalusC
kill $(ps -aef | grep Java | grep Apache | awk '{print $2}')
  • sie müssen Eclipse nicht neu starten
  • wenn Sie den obigen Fehler erhalten, geben Sie diese Zeile einfach in das Terminal ein 
  • starten Sie den Kater erneut in Eclipse.
  • funktioniert nur in Linux-basierten Systemen (Ubuntu .. etc)
51
Shan

Wenn Sie mit Windows arbeiten, versuchen Sie dies in der Eingabeaufforderung:

netstat -ano

Daraufhin werden alle verwendeten Ports und die Prozess-ID PID # des Prozesses angezeigt, der diesen Port verwendet. Dann Ctrl+Alt+Del und öffnen Sie den Task-Manager, um zu sehen, welcher Prozess das ist.

Sie können dann auswählen, ob der Server geschlossen oder gestoppt oder für die Verwendung eines anderen Ports konfiguriert werden soll. Gehen Sie folgendermaßen vor, um zu überprüfen, ob der neu ausgewählte Port (z. B. 8010) verfügbar ist:

netstat -ano | grep 8010

Wenn es keine Zeilen zurückgibt, ist alles in Ordnung.

Um den Port zu ändern, rufen Sie die Server-Ansicht auf, öffnen Sie server.xml und ändern Sie dort den Port. Meins hat diesen Eintrag:

Connector port="8010" protocol="AJP/1.3" redirectPort="8443"
28
Mau

Wenn Sie sich in einer Mac-Umgebung befinden, ist hier was ich getan habe.

Finden Sie die Prozess-ID, die auf diesem Port vom Terminal ausgeführt wird, z. B. 8080:

lsof -i :8080

und töte es:

kill -9 <PID>
20
Timeless

Schritte zum Freigeben des Ports, der bereits zum Ausführen des Tomcat-Servers in Eclipse verwendet wird

Nehmen wir beispielsweise an, dass der 8080-Port verwendet wird. Wir müssen 8080 zum Ausführen von Tomcat freigeben

Schritt 1:

C:\Benutzer\Benutzername> netstat -o -n -a | findstr 0,0: 8080 

TCP 0.0.0.0:3000 0.0.0.0:03 HÖREN 3116

Jetzt können wir sehen, dass LISTENING-Port 3116 für 8080 ist.

Wir müssen 3116 jetzt töten

Schritt 2:-

C:\Benutzer\Benutzername> Taskkill/F/PID 3116

Schritt 3: Gehe zu Eclipse und starte Server, es wird ausgeführt 

16

Wenn Sie Eclipse verwenden, doppelklicken Sie auf Server und doppelklicken Sie auf Tomcat-Server, um eine Datei zu öffnen. Ändern Sie in dieser Datei den HTTP-Port in eine andere Portnummer und speichern Sie (Ctrl+S) Starten Sie dann den Server erneut.

14
abc

Wenn Eclipse sagt 

Mehrere von Tomcat v6.0 Server unter localhost benötigte Ports (8005, 8080, 8009) werden bereits verwendet

Dieser Fehler tritt auf, weil Tomcat möglicherweise im Hintergrund ausgeführt wird. Stoppen Sie zuerst den Server. Befolgen Sie die nachstehenden Angaben.

Lösung ist:

  1. Öffne die "Konsolenansicht" (Fenster-> Showansicht-> Konsole)
  2. Stoppen Sie dann den Tomcat-Server.
  3. Öffnen Sie dann die "Server" -Ansicht und starten Sie den Server, der funktioniert.

Vielen Dank!

12
Ashu Phaugat

Ich habe keine andere Instanz von Tomcat, die eine Anzeige ausführt. Kein anderer Prozess, der "Tomcat-Port" (in meinem Fall der 8088-Port) verwendet. Eclipse sendet beim Starten von Tomcat dieselbe Nachricht:

.... Der Server ist möglicherweise bereits in einem anderen Prozess ausgeführt, oder ein Systemprozess verwendet den Port. Um diesen Server zu starten, müssen Sie den anderen Vorgang stoppen oder die Portnummern ändern.

Ich löse das Problem auf diese Weise:

  • gehe zur Ablage von Tomcat per Prompt
  • starten Sie startup.bat
  • starten Sie shutdown.bat
  • starten Sie Tomcat von Eclipse
10
giocorito

Was ich getan habe, nachdem ich alle vorgeschlagenen Antworten gelesen hatte und da ich weiß, dass mein Port bereits verwendet wurde. Ich habe in Eclipse unter der Registerkarte "Server" auf Tomcat doppelt geklickt. Daraufhin wurden Übersichtsinformationen geöffnet und dann die Portinformationen gefunden. Es wurde nur der in Konflikt stehende Port geändert, da mein Port 8009 war (Fehler beim Starten des Servers). Ich habe es in 8008 geändert und es funktioniert gut. Versuchen Sie es, wenn der geänderte Port nicht verwendet wird, und der Server wird gestartet.

6
DeVilCry2ME

Schritt 1:netstat -a -o -n und es wird eine Netzwerkliste angezeigt. Suchen Sie nach der lokalen Adresse wie 127.0.0.1:8080 und notieren Sie die PID (Gleichung 3624) 

C:\>netstat -a -o -n

Schritt2:Taskkill/F/PID 3624. Führen Sie diesen Befehl aus, um den Prozess zu beenden.

C:\>taskkill /F /PID 3624

link zu posten

6

Einfache Möglichkeit, Ihr Problem zu lösen:

Der Server ist möglicherweise bereits in einem anderen Prozess ausgeführt, oder ein Systemprozess verwendet den Port. Um diesen Port zu töten, gehen Sie wie folgt vor:

1) Laden Sie TCPView (nur 285kb) von folgendem Link herunter.

http://technet.Microsoft.com/de-in/sysinternals/bb897437.aspx

2) Extrahieren Sie den Ordner und starten Sie die Anwendung TCPView.

3) Klicken Sie mit der rechten Maustaste auf Java.exe (weil 8009,8005 Ports normalerweise von Java-Prozessen verwendet werden) und wählen Sie die Option End Process.

dies würde leicht einen anderen Prozess stoppen. 

NOTE: Wenn Sie TOMCATPATH ​​/ bin/shutdown.bat ausführen, wird Tomcat möglicherweise nicht heruntergefahren, wenn es einen Dämon oder nicht verwaltete .__ enthält. Fäden. In solchen Fällen funktioniert TCPView problemlos und problemlos.

4
shivadarshan

Unter Windows verwenden Sie den Befehl, um die bereits laufende Tomcat-Instanz zu stoppen und erneut in Eclipse auszuführen. Möglicherweise funktioniert sie. 

net stop Tomcat7 

Oder Sie könnenden Port im Server-XMLändern, wenn Sie nur andere Ports verwenden möchten. 

4
Gauranga

Hier ist eine weitere Option, um zu versuchen, wenn keine der oben genannten Anstrengungen geholfen hat. Möglicherweise verwenden Sie Eclipse von einem gemeinsam genutzten Laufwerk (z. B. H :). Verschieben Sie in diesem Fall das gesamte Eclipse-Verzeichnis nach C: und versuchen Sie es erneut.

Mein Eclipse konnte keine Ports für den Tomcat-Server öffnen (mit dem obigen Fehler) und auch keine Verbindung zum Internet herstellen. Ich habe auch ein anderes Tomcat-Plugin (Sysdeo) ausprobiert, das die Ports nicht öffnen konnte.

Dies sind die Optionen, die ich ausprobiert habe:

Weitere Tomcat-Instanzen prüfen und beenden

  • Überprüfen Sie in der Eingabeaufforderung netstat -ano, ob andere Prozesse die konfliktbehafteten Ports verwenden.
  • Finde die PID und töte sie
  • Starten Sie den Server erneut.

Tomcat-Ports in Eclipse ändern

  • Doppelklicken Sie auf der Registerkarte Eclipse Server auf die Tomcat-Instanz. Dadurch wird die Konfigurationsregisterkarte geöffnet.
  • Ändern Sie unter Ports die Portnummern. (zum Beispiel 18080).

Kill Java.exe und Javaw

Siehe meine andere Antwort für Eclipse, der keine Verbindung zum Internet herstellt ( https://stackoverflow.com/a/37246087/4212710 ).

2
typoerrpr

Wenn Sie sich in einem potenziellen Java EE-Projekt in Eclipse befinden und versuchen, den Tomcat-Server in Eclipse im Debugmodus zu starten, werden solche Fehler angezeigt. Sie müssen auf Debuggen in Eclipse umstellen. Ich habe mein Problem so gelöst. 

2
Jitendra

Für Windows-Benutzer:

Wechseln Sie direkt zum Task-Manager mit der Tastenkombination STRG + UMSCHALT + ESC.

Beenden Sie die Prozesse "Java.exe", indem Sie mit der rechten Maustaste klicken und "Task beenden" auswählen.

2
Arif Acar

Wenn die Ports auch nach dem Versuch von "shutdown.bat" nicht freigegeben werden, was @BalusC vorschlägt, können Sie den Javaw-Prozess beenden. Führen Sie folgende Schritte aus:

  1. Klicken Sie auf Startmenü und öffnen Sie "Windows-Powershell".
  2. Klicken Sie vor dem Öffnen mit der rechten Maustaste und wählen Sie "Als Administrator ausführen".
  3. Geben Sie den Befehl ps ein. Möglicherweise sehen Sie ein Bild wie folgt: Powershell showing current proesses running

  4. Siehe die Prozessnummer des Prozesses "jawaw". Die Prozessnummer ist die ganz rechte Zahl in den Spalten, die ich beispielsweise in der Bildprozessnummer von javaw hervorgehoben habe. 

  5. Geben Sie den Befehl kill ein. jawaw wird getötet und jetzt müssen Sie das Programm ausführen können.

2
Tiny Jaguar

Das einfachere Update, das für mich funktioniert, ist das Löschen meiner aktuell bereitgestellten Webapps aus Tomcat über die Registerkarte "Server". Sobald ich sie entferne, wird das Problem behoben. Stellen Sie Ihr Projekt einfach erneut bereit, indem Sie Ausführen als> Auf Server ausführen ausführen.

1
Felipe Leão

Das Problem tritt häufig auf, wenn Apache Tomcat nicht ordnungsgemäß beendet wird, obwohl eine Anweisung zum Herunterfahren gesendet wurde. In meinem Fall geschieht dies bei Verwendung von Tomcat 8 mit lästiger Regelmäßigkeit. Glücklicherweise können Sie Windows PowerShell und den Befehl netstat verwenden, um ein einfaches Skript zum Abbruch des Prozesses zu erstellen.

Das folgende PowerShell-Skript analysiert die Ausgabe von netstat, um einen Prozess zu suchen, der auf 127.0.0.1:8005 wartet, extrahieren Sie seine PID und beenden Sie diesen Prozess:

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] }

Wenn Ihr server.xml Tomcat für die Verwendung eines anderen Ports oder einer anderen IP-Adresse konfiguriert, bearbeiten Sie den regulären Ausdruck in der vierten Zeile des Skripts entsprechend.

Abschließend möchte ich darauf hinweisen, dass die Situation unter Linux besser ist, da Sie Tomcat anweisen können, seine PID beim Start in einer Datei zu speichern und einen Switch zu verwenden, um das Herunterfahren zu erzwingen Die Fähigkeit, den Prozess und die Täuschungsarbeit mit netstat zu beenden, ist nicht erforderlich.

1
Xharlie

Ich habe alle Antworten geprüft, aber informing only to kill PID.

Falls Sie über einen Terminalzugriff verfügen, der von allen gemeinsam genutzt wird, hilft dies nicht oder Sie haben möglicherweise keine Berechtigung, PID zu beenden.

In diesem Fall können Sie Folgendes tun: 

Double click on server

Go to Overview and change ports in Ports wie folgt:

 enter image description here

1
v8-E

Einfachste Lösung

Einzeiliger Befehl zum Beenden mehrerer Ports:

kill $(lsof -t -i:8005,8080,8009) // 8005, 8080 and 8009 are the ports to be freed
0

Einige Ports (8005, 8080, 8009), die von Tomcat vX.X Server bei localhost benötigt werden, werden bereits verwendet

So überprüfen Sie, ob eine andere Instanz von Tomcat bereits ausgeführt wird oder ein anderer Prozess die Ports verwendet, die Sie verwenden können:

netstat -b -a in Eingabeaufforderung für Windows. Dies listet die verwendeten Ports auf und gibt Ihnen die ausführbare Datei an, die die einzelnen Ports verwendet. Sie müssen dazu in der Administratorgruppe sein.

Sie könnten so etwas bekommen:

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]

Öffnen Sie den Task-Manager Ctrl+Shift+Esc, und beenden Sie Tomcat7.exe oder einen anderen Prozess, der diese Ports verwendet.

0
Zeeshan

Dies kann daran liegen, dass Sie Ihren Tomcat-Dienst nicht ordnungsgemäß beenden. Um dies zu tun, Öffne deinen Task-Manager dort kannst du einen javaw.exe-Dienst sehen. Stoppen Sie zuerst diesen Dienst. Starten Sie jetzt Ihren Tomcat neu und es funktioniert einwandfrei.

0
Ramki

So beenden Sie einen Windows-Dienst mithilfe von PID - 

  1. Öffnen Sie die Eingabeaufforderung und geben Sie netstat -ano ein.
  2. ermitteln Sie die PID der verwendeten Ports. In diesem Fall ist dies 8080, 8005,8009. Nehmen wir an, die PID dieser Ports beträgt 5760. 
  3. Geben Sie jetzt taskkill /f /pid 5760 ein. 
  4. die PID wird geschlossen, und die Ports stehen zur Verfügung. Jetzt können Sie Tomcat ganz normal über Windows-Dienste oder über Eclipse starten.

Vielen Dank

töte einen Windows-Dienst, der beim Anhalten oder Starten hängen bleibt

0
Pankaj Barnwal

Wenn das obige Problem in einem Betriebssystem mit Windows 7 oder 10 auftritt, tritt das Problem auf, weil Tomcat als Windows-Dienst ausgeführt wird. Öffnen Sie die Windows-Systemsteuerung, um zu verhindern, dass Tomcat als Windows-Dienste ausgeführt wird. Suchen Sie den Dienst "Apache Tomcat" und stoppen Sie den Vorgang. Die andere Möglichkeit besteht darin, den auf Port 8080 ausgeführten Prozess mit cmd zu beenden.

Öffnen Sie cmd und führen Sie es als Administrator aus.

  1. C:\Benutzer\Benutzername> Netstat -o -n -a | findstr 0.0: 8080 
  2. TCP 0.0.0.0:8080 0.0.0.0:03 HÖREN 2160.
  3. Das obige 2160 ist die Prozess-ID des Prozesses, der auf Port 8080 ausgeführt wird, und beendet diesen Prozess mit dem folgenden Befehl
    C:\Benutzer\Benutzername> Taskkill/F/PID 2160 
  4. Gehe zu IDE und starte Server, es wird ausgeführt
0
Shreeram Reddy

Sie müssen Ihre Eclipse-IDE nicht schließen. Wahrscheinlich wird Ihr Tomcat bereits ausgeführt. Deshalb haben Sie einen Fehler erhalten. 

tomcat-Verzeichnis >> bin >> vom Befehlsterminal aus öffnen (in meinem Fall ist Tomcat9)

Befehl eingeben 

./shutdown.sh

dadurch wird Ihr laufender Tomcat geschlossen 

 enter image description here

0
Kamran

Im Falle von Fenstern erlebte ich ein neues Zeug ... Wenn Sie Tomcat aus dem Ordner/bin stoppen, wird der Port 8080 nicht sofort freigegeben. Es dauert etwa 5-10 Minuten, bis der Port freigegeben wird. Nach 10 Minuten wieder, wenn ich versuche, mein Projekt auszuführen Ausführen-> Auf Server ausführen. Es kann ausgeführt werden. 

Ich bin nicht sicher, ob mein Verständnis richtig ist!

0
Laxman

Dein Tomcat läuft wahrscheinlich schon. Deshalb haben Sie einen Fehler erhalten. Ich hatte das gleiche Problem schon einmal. Ich habe es sehr einfach gelöst:

  1. Starte deinen Computer neu
  2. Eclipse öffnen
  3. Führen Sie Ihren Kater aus

Das ist alles.

0
Purgoufr

In meinem Fall gab es den Fehler: Der von Tomcat v8.0 Server auf localhost benötigte Port 8005 wird bereits verwendet.

Ich habe den Port 8005 in Apache-Tomcat-8.0.39\conf\server.xml geändert, aber die Änderungen wurden nicht übernommen. Dann habe ich diese Änderungen von Eclipse vorgenommen. durch Doppelklicken auf Server und Ändern des Ports von 8005 auf 8006, und es funktioniert.  enter image description here

Bevor ich 8006 stelle, habe ich in Windows Shell nachgefragt, ob dieser Port verfügbar ist oder nicht. Durch Ausführen des folgenden Befehls:

netstat -a -o -n | findstr 8006
0
Tahir Akram

Lesen Sie im folgenden Blog nach, wie Sie Tomcat beenden können, ohne den Computer neu starten zu müssen.

http://stanicblog.blogspot.fr/2012/01/how-to-kill-Apache-Tomcat-ohne.html

Ich hoffe, dass dies in Zukunft jemandem helfen wird.

0
Edmund Ng

Klicken Sie im Windows-Betriebssystem mit der rechten Maustaste auf die Taskleiste -> Task-Manager starten -> Prozess und prüfen Sie, ob Java.exe oder javaw ausgeführt wird, wenn es ausgeführt wird. Klicken Sie darauf und beenden Sie den Prozess Server. 

  1. manchmal belegt Skype Port 80, in diesem Fall ändern Sie die Skype-Einstellungen und setzen 81 für Skype oder die Tomcat-Konfiguration.
0
Vasundhara

Dies ist der Fall, wenn andere Benutzer des Projekts dieselben Portnummern verwenden wie Sie ! Doppelklicken Sie auf den Tomcat-Server, ändern Sie die Portnummern in 8585 oder was auch immer. Der Code beginnt jetzt zu laufen!

0
Shivendra

Auf Eclipse löschen Sie den Tomcat-Konfigurationsordner unter Projekt "Servers" . Ich habe es als letzte Hoffnung ausprobiert und es hat funktioniert.

0
giocorito