wake-up-neo.com

Wie debuggen Sie eine Tomcat 7.x/8.x-Webapplikation lokal mit der IntelliJ Community-Version (kostenlos) in Linux?

Ich habe verstanden, dass dies mit der Ultimate Edition möglich ist, aber gibt es eine Möglichkeit, diese Anwendungen lokal in der Community Edition zu debuggen?

23
AmirHd

Geschichte

Wenn Sie mit der IntelliJ Ultimate Edition gearbeitet haben, haben Sie gesehen, dass es möglich ist, eine Tomcat-Konfiguration hinzuzufügen, in der Sie Ihren Tomcat-Container von IntelliJ aus debuggen oder ausführen können. Es ist möglich, dass Ihre IntelliJ Community-Version mit ein paar zusätzlichen Einstellungen dasselbe für Sie ausführt.

Relevante Konzepte

Tomcat JMX

Dies ist ein Fernüberwachungs- und -verwaltungstool für Tomcat. JMX-bezogene Einstellungen sind nicht erforderlich, um das Debugging zu aktivieren. Obwohl es für Überwachungszwecke über JConsole ( read more ) nützlich sein kann.

Verschiedene Häfen

Ihre Tomcat-Instanz muss bereits gestartet sein, damit sich die Community-Version an den Tomcat-Prozess anschließen kann. Während Ihr Tomcat auf einem Port ausgeführt wird (Tomcat ist standardmäßig 8080), müssen Sie auch einen weiteren Port für den Debugger einrichten, um sich an Ihre laufende Version von Tomcat (in unserem Beispiel 9999) anzuschließen.

Die Einstellungen

Zu den Einstellungen gehören Änderungen, die Sie an Ihrem Tomcat vornehmen müssen, sowie Konfigurationen, die Sie an Ihrer IntelliJ Community Edition vornehmen müssen.

Bitte folgen Sie der Reihenfolge bei Änderungen.

Tomcat-seitige Änderungen

  1. Stoppen Sie Ihren Tomcat, wenn er in Ihrem Tomcat-Bin-Ordner ausgeführt wird, indem Sie: ./shutdown oder ./catalina stop

  2. Fügen Sie Ihrer catalina.sh-Datei unter der kommentierten Java_OPTS-Set-Anweisung die folgende Zeile hinzu:

    Java_OPTS = "$ Java_OPTS -Xdebug -Xrunjdwp: Transport = dt_socket, Server = y, Suspend = n, Adresse = 9999"

TIPP: Ich habe Java_OPTS nicht CATALINA_OPTS verwendet, da die Kommentare in catalina.sh darauf hinweisen, dass Java_OPTS bevorzugt wird. Es ist jedoch möglich, CATALINA_OPTS auf ähnliche Weise zu verwenden, um das Debugging zu aktivieren.

  1. Starten Sie Tomcat:

./catalina.sh starten

IntelliJ bezogene Änderungen

enter image description here

Ergebnis

Nachdem Sie in Ihrer IntelliJ Community Edition auf die Schaltfläche Debug geklickt haben, sollte sich der Debug-Bereich mit der folgenden Zeile im Konsolenbereich öffnen:

Verbunden mit der Ziel-VM, Adresse: 'localhost: 9999', Transport: 'socket'

Relevante Beiträge und Links

  1. Remote-Debugging mit Tomcat (7) und Intellij (Sehr nützlich für Windows aber)
  2. IntelliJ und Tomcat .. Howto ..? (irreführend wie alt)
  3. IntelliJ ultimative und Community-Version-Setups (hilfreich, aber übermäßig kompliziert)
  4. IntelliJ IDEA 14.0.0 Web-Hilfe/Ausführen/Debug-Konfiguration: Tomcat (etwas nützlich)
  5. Debuggen mit Tomcat und Intellij Community Edition (Alt und unvollständig)
27
AmirHd

Die Antwort von AmirHd ist sehr hilfreich, aber ich hatte noch ein Problem. Wenn ich den Java_OPTS-Server geändert habe, konnte er nicht wie in diesem Beitrag heruntergefahren werden: Tomcat konnte nicht heruntergefahren werden .__ 

Java_OPTS

zu

CATALINA_OPTS
1

Für Windows Benutzer

stellen

set "Java_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005"

zeile in catalina.bat Öffnen Sie dann die Befehlszeile im Tomcat-Verzeichnis und führen Sie sie aus

catalina.bat run

Beachten Sie auch: Ich musste Port 5005 auswählen, da der Standard in den Konfigurationseinstellungen in meinem IntelliJ nicht bearbeitet werden konnte.

0
JanBrus