wake-up-neo.com

Apache Tomcat 6 kann nicht von IntelliJ aus gestartet werden IDEA 12.1.4 Ultimate (Windows 7)

Ich muss eine Webanwendung für Tomcat6 in IntelliJ IDEA debuggen.

Wenn ich versuche, meine Webanwendung auszuführen, erhalte ich zwei Fehler:

  1. Adresse localhost: 1099 wird bereits verwendet
  2. Debugger-Port kann nicht geöffnet werden: Java.net.SocketException

Das manuelle Starten des Apache Tomcat 6-Dienstes funktioniert problemlos.

Was muss ich tun, um Webanwendungen in Apache Tomcat 6 von Intellij IDEA aus zu debuggen?

23
DP_

Befolgen Sie die folgenden Schritte: -

  1. Öffnen Sie die Eingabeaufforderung und geben Sie den Befehl netstat -ano ein.
  2. Sie sehen eine Liste der aktiven TCP -Verbindungen mitPIDals letzte Spalte
  3. In der zweiten Spalte werden die lokalen Adressen aufgeführt. Suchen Sie die Adresse, die Port 1099 verwendet, und Sie erhalten die PID 
  4. Öffnen Sie nun Ihren Task-Manager, klicken Sie auf die Registerkarte Prozess und rufen Sie die PID-Spalte auf. Klicken Sie entweder mit der rechten Maustaste auf die Überschriftenzeile und wählen Sie PID OR.
  5. Finden Sie nun die PID, die wir von Step3 erhalten haben, und beenden Sie den Vorgang.

Jetzt bist du gut zu gehen :)

34
varna

Ich stehe der ganzen Zeit vor dieser Ausgabe. So beheben Sie es 

LINUX 

Öffnen Sie eine Terminalinstanz.

fuser 1099/tcp

Dies sollte Ihnen eine Prozess-ID zurückgeben.

1099/tcp:            31596

dabei ist 31596 die Prozess-ID. Jetzt können Sie entweder die Prozess-ID verwenden, um sie zu beenden, oder einfach die folgenden Aktionen ausführen:

fuser -k 1099/tcp

WINDOWS

Öffnen Sie eine Eingabeaufforderungsinstanz.

netstat -aon | find "1099"

Dadurch wird eine Instanz des Prozesses zurückgegeben.

Ausgabe:

TCP    0.0.0.0:1099       0.0.0.0:0       LISTENING       15776

Hier ist 15776 die Prozess-ID. Um dies zu beenden, geben Sie ein -

taskkill /F /PID 15776

Prost!

22
Swanidhi

Sie können den JMX-Port (standardmäßig 1099) im Dialogfeld Run/Debug Configuration ändern. Versuchen Sie einfach eine andere Portnummer (d. H. 9099).

11
julg

Wenn Sie die Webanwendung bereits laufen und ausgeführt haben, befindet sich möglicherweise ein alter Debug-Server, der nicht ordnungsgemäß im Hintergrund ausgeführt wurde. In diesem Beitrag erfahren Sie, wie Sie herausfinden können, welcher Prozess Port 1099 verwendet. Wenn es sich um einen Java-Prozess handelt, beenden Sie ihn.

Wie können Sie herausfinden, welcher Prozess an einem Port unter Windows überwacht wird?

(Wenn Sie die im obigen Link vorgeschlagene GUI sw verwenden, können Sie den oder die Prozesse beenden, indem Sie alle Java-Prozesse markieren, die Port 1099 verwenden. Klicken Sie mit der rechten Maustaste und drücken Sie "Prozess beenden ..."

9

Wie bereits erwähnt, läuft im Hintergrund ein alter Debug-Server. 

Meine Lösung bestand darin, den Java-Prozess zu schließen, der im Windows Task-Manager geöffnet war. 

Bitte vergewissere dich, dass du diesen Vorgang vorher abschließen kannst!

2
uris

Ändern Sie Ihren http-Port in 8080 (Standardeinstellung für Tomcat) und debuggen Sie den Port in etwas, der derzeit von keinem Prozess verwendet wird. Sie können alles verwenden, das höher als 1024 ist. Da Sie jedoch einen Fehler unter 1099 erhalten, versuchen Sie etwas, das größer als 6000 ist.

Debugger-Einstellungen finden Sie hier

1
Srihari

Was für mich funktioniert hat war. Ich nahm an, ich müsste den Dienst "Apache Tomcat" unter "Dienste" ausführen [Windows + R >> services.msc].

Ich habe den Katerdienst hier eingestellt. Dann kam ich zu meiner Java-Anwendung und führte sie in Intellij aus, wodurch ich sie ausführen konnte.

Hoffe das hilft!

0
hal9000

Ich fand diese Antwort hilfreich:

Wie können Sie herausfinden, welcher Prozess an einem Port unter Windows überwacht wird?

Ich öffnete den Ressourcenmonitor und suchte nach den verwendeten Ports. Dann wurde der Task-Manager geöffnet und diese Prozesse beendet

0
lk1234

Möglicherweise läuft ein anderes Programm oder Server im Hintergrund. Schließen Sie zunächst andere Server, die im Hintergrund ausgeführt werden, und starten Sie dann den Server neu.

0
user3642940