webentwicklung-frage-antwort-db.com.de

Debugger-Port kann nicht in IntelliJ geöffnet werden IDEA

Ich habe ein Problem, dass ich meine Anwendung nicht mit der IntellJ IDE im Debug-Modus einrichten kann, aber der Run-Modus ist OK.

Mein Betriebssystem ist Windows 7, IDE ist IntellJ IDEA, der Web-Container ist Tomcat 6. Ich habe lange versucht, den HTTP-Port und den JMX-Port zu ändern, aber es hat nicht funktioniert. 

Wenn ich die App im Debug-Modus mit IntellJ einrichte, schlug die App fehl und das Ereignisprotokoll lautet:

16:05:35 Fehler beim Ausführen von Tomcat: Debugger-Port kann nicht geöffnet werden: Java.net.BindException "Adresse wird bereits verwendet: JVM_Bind".

Jede Hilfe wird geschätzt. 

47
feng smith

der Schlüssel zum Problem ist in Debugger Port . Ich hatte das gleiche Problem, ich habe jeden Prozess beendet, der auf Port 8081 (mein http-Port), 1099 (JMX-Port), Tomcat-Shutdown-Port, jeder Java.exe und noch nichts zu hören war.

Die Sache ist diese Debugger-Port ist anders. Wenn Sie die Anwendung ausführen, wird der Port, für den Sie Tomcat konfiguriert haben, 8080, 8081 oder einen anderen Port verwendet. Wenn Sie es jedoch im Debug-Modus ausführen, wird ein anderer Port verwendet. 

Wenn Sie Ihre Tomcat-Konfiguration von IntelliJ aus bearbeiten, lautet die letzte Registerkarte Startup/Connection . Hier sehen Sie die Konfiguration für Debug Mode und Sie sehen den Port. Mein war 50473. Ich habe ihn auf 50472 geändert und alles begann wieder zu funktionieren.

95
T.M.

Für mich hatte IntelliJ Event Log (rechte untere Ecke) folgende Protokolle: 

Error running EntitmentTooling-Debug: Cannot run program "/path-to/Apache-Tomcat-8.5.15/bin/catalina.sh" (in directory "path-to/Apache-Tomcat-8.5.15/bin"): error=13, Permission denied

Error running EntitmentTooling-Debug: Unable to open debugger port (127.0.0.1:58804): Java.net.SocketException "Socket closed"

Der Befehl

$ chmod a+x /path-to/Apache-Tomcat-8.5.15/bin/catalina.sh

privilegien ausreichend zu ändern, funktionierte für mich.

26
Chandan

Dies funktioniert bei mir beständig (es passiert mir von Zeit zu Zeit, wenn ich beispielsweise Tomcat neu starte, wenn ich zum Beispiel die Integrationstests durchführe)

1) Finden Sie den Prozess, bei dem der Port 1099 geöffnet ist

Sudo netstat -anp | grep tcp | grep 1099
cp6       0      0 :::1099                 :::*                    LISTEN      9857/Java

2) töte es

kill 9857

3) Starten Sie Tomcat.

9
Tk421

Ich hatte das gleiche Problem in Windows 7 und IntellijIdea 14. ... Ich habe die Java-Prozesse mit STRG + ALT + ESc beendet, Java gesucht und das Programm abgebrochen . Jetzt erneut ausführen, sollte die Anwendung wieder in Ordnung sein. Sie können es auch mit der Befehlszeile oder mit Shell (Linux) machen, aber ich fand das für mich einfacher

8
Manam

Wenn Sie sich unter Windows befinden, können Sie das Socket-Problem vollständig umgehen, indem Sie zum Debugging im gemeinsam genutzten Speicher wechseln.

 enter image description here

4
Avner

Ich hatte genau diese Nachricht.

Der Grund war, dass einige IDE (ich verwende Eclipse und Intellij) den Tomcat-Server nicht herunterfahren konnte. Oder vielleicht abgestürzt, bevor es dazu kam.

Die Lösung bestand darin, zu C:\...\Apache-Tomcat-xxx\bin zu navigieren und shutdown auszuführen.

3
Florian F

Ich habe das Problem auf diese Weise gelöst.

  1. Ich habe versucht, alle Java.exe-Prozesse zu beenden, aber es war unbrauchbar.
  2. Dann habe ich versucht, den Tomcat-Server zu löschen 
  3. Ich habe das Projekt erneut bereitgestellt und das Projekt neu gestartet, und es hat funktioniert.

Siehe diese Links für weitere Informationen:

Löschen Sie Tomcat Delete Tomcat

Einen neuen Tomcat hinzufügen Add a new Tomcat

3
Abbot

Das einzige, was für mich funktioniert hat, ist, zum Task-Manager unter Windows zu gehen und alle laufenden Java-Prozesse durch Klicken mit der rechten Maustaste -> Task beenden zu beenden.

2
truthseeker

Ich habe das gleiche Problem, da der DNS-Fehler meines Computers auf "127.0.0.1 localhost" fehlt. Wenn ich der Host-Datei 127.0.0.1 localhost hinzufüge, wird es in Ordnung. 

1
vince

Es kommt gelegentlich vor, dass nach einem Neustart des Computers alles in Ordnung ist. Vielleicht gibt es einen Hafenkonflikt.

Starten Sie den Computer neu, da Java-Instanzen von Java oder Tomcat während des Neustarts abgebrochen werden. Sie können auch in Betracht ziehen, bestimmte Prozesse über den Task-Manager zu beenden

Dies geschieht auch, wenn in der Datei context.xml ein Problem vorliegt. In meinem Fall hatte ich versehentlich den Kontextwert geändert. 

1
feng smith

Dafür gibt es verschiedene Gründe.
- Möglicherweise liegt ein Problem mit dem Debugger-Port vor --- Bitte ändern Sie ihn zur Behebung (beantwortet von T.M )
- Möglicherweise gibt es ein Problem mit dem intellij-Cache - Cache ungültig machen und Neustart löst es (wird von feng smith beantwortet)
- Möglicherweise gibt es ein Problem mit einem anderen Port wie JMX, AJP --- Bitte ändern Sie auch diese Portnummern.
Ich wollte dies als Kommentar hinzufügen, aber nicht genug rep

1
RAHUL ROY

Beim Debugging bekam ich dieses Problem: Es hat funktioniert 

  1. versuchte, meinen Tomcat-HTTP-Port 8082 in 8083 zu ändern (in Debug-Konfigurationen unter IntelliJ und in Tomcat-> conf-> server.xml)
  2. versuchte, den JMX-Port von 1099 auf 1009 zu ändern.
  3. es wurde versucht, den Debug-Port in Startup/Connection in Debug .__ zu ändern. Konfigurationen
  4. alle Java-Prozesse in TaskManager-> Prozesse abgebrochen.
1

Alle anderen Lösungen haben leider nicht funktioniert. Das hat bei mir funktioniert. Ich habe einfach den Debugger-Port in eine andere Portnummer geändert.

Intelij-> Einstellungen-> Build, Ausführung, Bereitstellung -> Debugger-> Eingebauter Server-> Port (Wert ändern)

enter image description here

0
Rachita Nanda

In meinem Fall gab es in server.xml ein Problem für den Tomcat/conf-Ordner, bei dem ich zusätzliche Kommentar-Tags unter einem anderen Kommentar-Tag hatte. Ich denke, da es ein Problem in server.xml gab, konnte es Tomcat nicht starten. Außerdem kopiert es den Tomcat-Ordner aus Ihrem Installationsverzeichnis nach C:\Users\Benutzername

0
Arun

Keine der oben genannten Methoden funktionierte in meinem Fall, d. H. Das Ändern der Portnummer in der Laufkonfiguration, der Neustart der Maschine, der Ungültigmachen des Caches in IntelliJ und der in netstat abgebildete Prozess (nestat -anob | findstr <port-number> und dann tskill <pid>). Das einzige, was schließlich geholfen hat, war, Tomcat manuell über startup.bat und shutdown.bat zu starten und herunterzufahren (Sie sollten entsprechende .sh-Dateien unter Linux und macOS verwenden).

0
k13i

Ändern Sie den in Intelli J konfigurierten Debug-Port Ihres Servers.

Es wird behoben. enter image description here

Ändern Sie auf der Registerkarte Server der Tomcat-Konfiguration in IntelliJ JMX-Port in eine andere Nummer. 

0
Majid

Dies geschieht, wenn Sie die Anwendung an derselben Portnummer ausführen. Eine Möglichkeit, dies zu tun, indem der Prozess gewaltsam beendet wird. Öffnen Sie die Eingabeaufforderung als Administrator. Führen Sie den Befehl 'taskkill/IM "Java.exe"/F "aus. Das hat für mich in Windows funktioniert. Sag mir, ob das funktioniert. 

0
Umesh_Shah
  1. Überprüfen Sie die "Ausführen" -Konfiguration, um zu sehen, welcher Port verwendet wird (8081). 
  2. Finden Sie alle anderen Prozesse, die diesen Port verwenden lsof -t -i :8081 
  3. Beenden Sie die Prozesse an diesem Port. kill PROCESS_ID
  4. Führen Sie Tomcat im Debug-Modus aus.

In meinem Fall habe ich so viel Zeit damit verschwendet, debugger port zu ändern, aber war nicht das Problem. Da Tomcat nicht auf dem Port laufen konnte, den ich in der Konfiguration von Run ausgewählt habe, konnte ich meinen Service nicht debuggen.

0
recepinanc