Ich habe eine Anwendung, die ich in Tomcat eingesetzt habe. Später habe ich den Code als ein Projekt in Eclipse konfiguriert. Ich möchte mich über Eclipse mit dem Tomcat verbinden und die Anwendung debuggen. Der Versuch, eine Remote-Debug-Verbindung einzurichten, führt zu Fehlern. Gibt es einen Eintrag, den ich irgendwo im Tomcat hinzufügen muss?
Antworten
Zu viele Anzeigen?Debuggen hat bei mir funktioniert. Ich habe Tomcat 8 verwendet, konfiguriert auf Centos 7. Der Debug-Port wurde für mich geöffnet, nachdem ich 2 Einstellungen geändert hatte.
-
Öffnen Sie tomcat/conf/bin/startup.sh und fügen Sie folgende Zeilen hinzu
export JPDA_ADDRESS=8000 export JPDA_TRANSPORT=dt_socket
-
Fügen Sie in derselben Datei startup.sh Folgendes hinzu jpda vor dem Startbefehl.
exec "$PRGDIR"/"$EXECUTABLE" jpda start "$@"
Starten Sie den Kater neu. Gehen Sie in Eclipse zu Ausführen>Debug-Konfiguration>Java-Fernanwendung>Host-IP und Port (8000) hinzufügen wo der Tomcat läuft. In meinem Fall musste ich auch 8000 durch die Firewall öffnen.
firewall-cmd --zone=public --permanent --add-port=8000/tcp
firewall-cmd --reload
Schritte zur Einrichtung des Tomcat-Debuggers mit Eclipse
Installieren Sie die folgenden Dinge:
java 1.8+
eclipse EE-Version
Kater 8+ herunterladen
öffnen Sie Eclipse und gehen Sie zu
servers
und fügen Sie einen neuen Server hinzu (Fenster-> Ansicht anzeigen-> Andere -> Server suchen)Markieren Sie Ihr Projekt als Dynamisches Webprojekt (Rechtsklick auf Projekt-> Projektfacetten -> Dynamisches Webmodul auswählen)
War exportieren (Datei-> Export-> War suchen -> Modul auswählen und den Pfad wählen)
Ausführen als -> Auf Server ausführen
Starten Sie den Tomcat-Server im Debug- oder Run-Modus
überprüfen
localhost:8080
Neben dem Remote-Debugging können Sie Ihre Anwendung auch lokal in Eclipse debuggen, wenn Sie Tomcat in Eclipse hinzugefügt haben. Starten Sie einfach den Server, klicken Sie mit der rechten Maustaste auf Ihre Anwendung und wählen Sie im Debug-Menü Debug on Server. Wenn Sie ein Maven-Projekt mit mehreren Modulen haben, wird Debug auf dem Server nur für Module mit War-Packaging angezeigt. Wenn Sie eine Klasse debuggen wollen, die beim Start von selbst läuft, wie Methoden, die mit @PostConstruct annotiert sind, denken Sie daran, dass Sie den Server-Timeout erhöhen sollten. Gehen Sie dazu in die Serveransicht, doppelklicken Sie auf den Tomcat und erhöhen Sie auf der Registerkarte Servervorschau den Timeout-Wert.
- See previous answers
- Weitere Antworten anzeigen