Ich habe ein Problem, dass ich meine Anwendung mit IntelliJ IDE nicht im Debug-Modus einrichten kann, der Ausführungsmodus jedoch in Ordnung ist.
Mein Betriebssystem ist Windows 7, IDE ist IntelliJ IDEA, Webcontainer ist Tomcat 6. Ich habe es lange versucht, den HTTP-Port und den JMX-Port geändert, aber es hat nicht funktioniert.
Wenn ich die App mit IntelliJ im Debug-Modus eingerichtet habe, ist sie fehlgeschlagen 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".
intellij-idea
debug-mode
Feng Smith
quelle
quelle
Antworten:
Der Schlüssel zum Problem liegt im Debugger-Port . Ich hatte das gleiche Problem, ich beendete jeden Prozess, der Port 8081 (mein http-Port), 1099 (JMX-Port), Tomcat-Shutdown-Port, jede java.exe und immer noch nichts abhörte.
Die Sache ist, dass dieser Debugger-Port anders ist. Wenn Sie die Anwendung ausführen, wird sie über den Port geleitet, für den Sie Tomcat konfiguriert haben: 8080, 8081 oder was auch immer. Wenn Sie es jedoch im Debug-Modus ausführen, wird ein anderer Port verwendet.
Wenn Sie Ihre Tomcat-Konfiguration über IntelliJ bearbeiten, ist die letzte Registerkarte Start / Verbindung . Hier sehen Sie die Konfiguration für den Debug- Modus und den Port. Meins war 50473. Ich habe es in 50472 geändert und alles fing wieder an zu funktionieren.
quelle
Für mich hatte IntelliJ
Event Log
(rechte untere Ecke) folgende Protokolle:Der Befehl
Privilegien ausreichend zu ändern, hat für mich funktioniert.
quelle
Event Log
ist der Schlüssel hier, vorheriger Fehler war die GrundursacheWenn Sie unter Windows arbeiten, können Sie das Socket-Problem vollständig umgehen, indem Sie zum Debuggen des gemeinsam genutzten Speichers wechseln.
quelle
Dies funktioniert für mich konsistent (es passiert mir von Zeit zu Zeit, wenn ich Dinge wie einen Neustart von Tomcat mache, wenn ich zum Beispiel die Integrationstests durchführe).
1) Suchen Sie den Prozess, bei dem der Port 1099 geöffnet ist
2) töte es
3) Starten Sie Tomcat.
quelle
Ich hatte das gleiche Problem in Windows 7 und IntellijIdea 14. Ich habe die Java-Prozesse beendet, indem ich STRG + ALT + ESc gewählt, Java gefunden und beendet habe. Jetzt wieder ausführen, die Anwendung wieder sollte es in Ordnung sein. Sie können es auch mit Kommandozeile oder Shell (Linux) tun, aber ich fand das einfacher für mich
quelle
Bei der Verwendung von IntelliJ ist der gleiche Fehler aufgetreten. Da habe ich mehrere Instanzen von IntelliJ gestartet. Beim Starten von zwei Instanzen wurde es ordnungsgemäß gestartet. Beim Starten eines anderen wurde jedoch der folgende Fehler angezeigt.
Grundsätzlich gibt es zwei Stellen, an denen Sie Ihre Ports im Zusammenhang mit dem Debuggen in IntelliJ überprüfen können
Was zu überprüfen ist : Wenn IntelliJ den oben genannten Fehler auslöst, bedeutet dies, dass eines der oben aufgeführten Ports ein Problem darstellt. Um dieses geöffnete Ereignisprotokoll zu überprüfen (es ist in der rechten Ecke unten verfügbar) und die genaue Meldung zu überprüfen. Das Ereignisprotokoll enthält die folgende Meldung
Lösung 1 Überprüfen Sie den JMX-Port des aktuellen IntelliJ, der nicht mit dem funktionierenden beginnt, und stellen Sie sicher, dass die JMX-Ports in der IntelliJ-Instanz nicht dupliziert sind oder dass die auf Ihrem Computer ausgeführte Software diesen Port nicht verwendet.
Lösung 2 Wenn JMX nicht dupliziert wird, überprüfen Sie Ihren Debug-Port, überprüfen Sie alle IntelliJ-Instanzen und nehmen Sie die Änderungen vor.
Sicherlich hat entweder der JMX- oder der Debug-Port ein Problem. Verwenden Sie einfach den eindeutigen JMX- und Debug-Port, und es wird funktionieren.
Hoffe das wird jemandem helfen.
quelle
Ich habe das Problem auf diese Weise gelöst.
Weitere Informationen finden Sie unter diesen Links:
Tomcat löschen
Fügen Sie einen neuen Tomcat hinzu
quelle
Beim Debuggen bekam ich folgendes Problem: Es hat funktioniert mit
quelle
Ich hatte genau diese Nachricht.
Der Grund war, dass eine IDE (ich verwende Eclipse und Intellij) den Tomcat-Server nicht herunterfahren konnte. Oder vielleicht abgestürzt, bevor es das konnte.
Die Lösung bestand darin, zu navigieren
C:\...\apache-tomcat-xxx\bin
und auszuführenshutdown
.quelle
Ich habe das gleiche Problem, weil der DNS-Fehler meines Computers 127.0.0.1 localhost fehlt. Wenn ich meiner Hostdatei 127.0.0.1 localhost hinzufüge, wird es in Ordnung.
quelle
Dafür gibt es verschiedene Gründe.
- Es könnte das Problem mit Debugger - Port sein --- Bitte es (beantwortet zu lösen ändern TM )
- Es könnte einige Problem sein , mit intellij Cache --Invalidate Cache und Neustart wird es solve (von antwortete Feng smith )
- Es könnte sein , Problem mit einem anderen Port wie JMX, AJP --- Bitte ändern Sie auch diese Portnummern.
Ich wollte dies als Kommentar hinzufügen, aber nicht genug Wiederholung
quelle
Das einzige, was für mich funktioniert hat, ist, unter Windows zum Task-Manager zu wechseln und alle ausgeführten Java-Prozesse zu beenden, indem Sie mit der rechten Maustaste klicken -> Task beenden.
quelle
In Server - Registerkarte von Tomcat - Konfiguration in IntelliJ, ändern JMX - Port an eine andere Nummer.
quelle
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-> Erstellen, Ausführen, Bereitstellen -> Debugger-> Eingebauter Server-> Port (Wert ändern)
quelle
Es kommt gelegentlich vor, dass beim Neustart meines Computers alles in Ordnung ist. Vielleicht liegt ein Hafenkonflikt vor.
Der Neustart des Computers funktioniert, da beim Neustart Instanzen von Java oder Tomcat beendet werden. Sie können auch in Betracht ziehen, die spezifischen Prozesse im Task-Manager zu beenden
Dies ist auch der Fall, wenn in der Datei context.xml ein Problem vorliegt. In meinem Fall hatte ich versehentlich den Kontextwert geändert.
quelle
Keine der oben genannten Methoden hat in meinem Fall funktioniert, dh Ändern der Portnummer in der Ausführungskonfiguration, Neustart des Computers, Ungültigmachen des Cache in IntelliJ, Beenden des in netstat (
nestat -anob | findstr <port-number>
und danntskill <pid>
) angezeigten Prozesses . Das einzige, was letztendlich geholfen hat, war das manuelle Starten und Herunterfahren von Tomcat überstartup.bat
undshutdown.bat
(Sie sollten entsprechende.sh
Dateien unter Linux und MacOS verwenden).quelle
Ändern Sie den Debug-Port Ihres Servers, der in Intelli J konfiguriert ist.
Es wird behoben.
quelle
In meinem Fall gab es ein Problem in server.xml für den Ordner Tomcat / conf, bei dem ich zusätzliche Kommentar-Tags unter einem anderen Kommentar-Tag hatte. Da es in server.xml ein Problem gab, konnte Tomcat nicht gestartet werden. Außerdem wird der Tomcat-Ordner aus Ihrem Installationsverzeichnis nach C: \ Users \ username.IntelliJIdea2017.2 \ system \ tomcat \ Tomcat_service kopiert
quelle
Dies geschieht, wenn Ihre Anwendung auf derselben Portnummer ausgeführt wird. Eine Möglichkeit, dies zu tun, indem der Prozess gewaltsam abgebrochen wird. Öffnen Sie die Eingabeaufforderung als Administrator. Führen Sie den Befehl 'taskkill / IM "java.exe" / F' aus. Das hat bei mir unter Windows funktioniert. Lassen Sie mich wissen, ob dies funktioniert.
quelle
8081
).lsof -t -i :8081
kill PROCESS_ID
In meinem Fall habe ich so viel Zeit damit verschwendet, den Debugger-Port zu ändern, aber das war nicht das Problem. Da Tomcat nicht auf dem Port ausgeführt werden konnte, den ich in der Konfiguration " Ausführen" ausgewählt hatte , konnte ich meinen Dienst nicht debuggen.
quelle
In meinem Fall hatte ich ein anderes Projekt in IntelliJ geöffnet und Tomcat wurde in diesem Projekt im Debug-Modus ausgeführt. Durch das Stoppen dieser Tomcat-Instanz wurde das Problem behoben.
quelle
Meine Annahme, dass diese Ausnahme normalerweise auftritt, wenn Tomcat nicht ordnungsgemäß geschlossen ist und die Ports weiterhin enthält. Normalerweise reicht es aus, jeden Prozess abzubrechen, der den 1099-Port abhört. Für Fenster 10:
quelle
Wahrscheinlich erhalten Sie dieselbe Fehlermeldung, wenn die Datei standalone.xml in Ihrem Ordner für Standalone / Konfiguration nicht gefunden werden kann. Zumindest habe ich den gleichen Fehler bei der Verwendung eines WildFly 14.0.1:
quelle
Starten Sie einfach das Android Studio neu, bevor Sie alle ausprobieren. Ich stehe jetzt vor dem gleichen Problem und behebe es auf diese Weise.
Viel Spaß beim Codieren :)
quelle
Für alle, die mit der ähnlichen Nachricht hierher kommen:
Dies kann durch etwas völlig Unabhängiges verursacht werden, dh es handelt sich nicht um eine Portkonfiguration. Wenn Sie beispielsweise Tomcat ausführen, kann es sein, dass Sie einen ungültigen haben
web.xml
. Überprüfen Sie Ihr Ereignisprotokoll auf frühere Fehler:quelle
Es gibt mehrere Lösungen für das gleiche.
quelle
Versuchen Sie chmod a + x /path/to/tomcat/bin/catalina.sh, wenn Sie es in IntelliJ ausführen
quelle