2014-04-25 18 views
7

Ich entwickle eine Web-App (Kriegsverpackung) mit Spring-Boot, Jsp und einem eingebetteten Tomcat. Die App läuft gut und ich kann Java-Dateien ohne Probleme debuggen, wenn ich eine Maven-Run-Konfiguration mit dem Spring-Boot: Run-Ziel hinzufügen.Debugging jsp mit Spring-Boot und IntelliJ

Aber wenn ich versuche, einen Haltepunkt in einer meiner JSP-Dateien hinzuzufügen IntelliJ zeigt diesen Fehler: 'Haltepunkt gehört nicht zu einer Klasse'.

Wenn ich IntelliJ für die Verwendung eines externen Tomcat-Servers konfiguriere, funktioniert das JSP-Debugging einwandfrei.

Gibt es eine Möglichkeit, JSP mit dem Spring-Boot-Maven-Ziel zu debuggen? Ist das ein Problem mit Spring-Boot oder mit Maven Run-Konfigurationen in IntelliJ?

Ich würde wirklich gerne die vollen Spring-Boot-Fähigkeiten aus meiner Entwicklungsumgebung verwenden können.

Vielen Dank.

Antwort

8

Das Problem ist, dass Spring Boot einen anderen Prozess für die App hervorbringt. Sie müssen boot sagen, dass Sie debuggen wollen und nicht nur den Befehl für Maven oder Gradle im Debug-Modus ausführen. :-( See:

Update: für ein aktuelles Projekt, biete ich nur eine Klasse Frühjahr Boot in einer WAR-Datei zu initialisieren (siehe howtos entsprechend. Verwenden Sie Spring Boot für War-Dateien, die in realen Webcontainern eingesetzt werden)

Also während der Entwicklung von Frontend-Sachen verwende ich Springboot: run, um schnell neu geladen von Ressourcen usw. und f oder Debuggen von Java-Code Ich stelle das Zeug in einen Tomcat im Debug-Modus. Für eine Veröffentlichung muss ich nur entscheiden, welche Art von Verpackung ich möchte, da meine App als Jar oder War-Datei ausgeführt werden kann.

BTW: Wenn Sie Tomcat nur Zeug (spezielle Filter und so weiter) verwenden möchten, können Sie einen eingebetteten Tomcat für Springboot verwenden: laufen Sie auch, so dass Ihre Umgebungen ähnlicher sind und Sie Ghost Bugs jagen; -

)

Update 2

nach https://github.com/spring-projects/spring-boot/issues/1138 können Sie einfach die wichtigste Methode der Boot-App zu debuggen laufen. Ich schätze, es hilft, das Maven-Ziel mindestens einmal zu benutzen, also wird alles kompiliert/kopiert usw. Es funktioniert für mich! :-)

Update 3 Nach dem Frühjahr Boot-Team, änderten sie die Art und Weise Feder-boot: laufen Arbeiten, so mit 1.2 beginnen, sollten Sie auch den Debug-Modus für das Maven Ziel verwenden können, obwohl ihre Empfehlung, Spring-Boot-Anwendungen zu starten, ist immer die Hauptmethode zu starten.

Update 4 I 1.2, dass Anfang mit Feder bestätigen Sie können die Maven-Ziele im Debug-Modus direkt ausgeführt werden Sie in der Lage zu setzen Haltepunkte usw.

+0

danken, dass nützlich ist. Wir haben einen externen Tomcat für das Jspx-Debugging und das Maven-Ziel verwendet oder direkt die main() -Methode für das Java-Debugging ausgeführt.Es ist ein bisschen nervig, wenn man von dem einen oder anderen wechseln muss, aber wir können damit leben. – asolana

Verwandte Themen