2014-04-25 8 views
7

Zajmuję się tworzeniem aplikacji internetowej (pakowanie wojenne) przy użyciu wiosennego rozruchu, jsp i osadzonego tomcat. Aplikacja działa dobrze i mogę debugować pliki Java bez żadnych problemów, jeśli dodam konfigurację maven run z celem spring-boot: run.Debugowanie jsp z bootem sprężynowym i IntelliJ

Ale kiedy próbuję dodać punkt przerwania w jednym z moich plików jsp, IntelliJ pokazuje ten błąd: "Punkt przerwania nie należy do żadnej klasy".

Jeśli skonfiguruję system IntelliJ do korzystania z zewnętrznego serwera Tomcat, to debugowanie JSP działa idealnie.

Czy istnieje sposób debugowania jsp przy użyciu maven spring boot goal? Czy jest to problem z wiosennym bootowaniem lub z konfiguracjami maven run w IntelliJ?

Naprawdę chciałbym móc korzystać z pełnych możliwości rozruchu wiosennego z mojego środowiska deweloperskiego.

Dziękuję.

Odpowiedz

8

Problem polega na tym, że wiosenny rozruch powoduje uruchomienie kolejnego procesu dla aplikacji. Musisz powiedzieć bootowi, że chcesz debugować, a nie po prostu uruchamiać polecenie dla maven lub gradle w trybie debugowania. :-( Patrz:

Aktualizacja: Dla mojego obecnego projektu, po prostu dostarczyć klasę do zainicjowania rozruchu sprężyny w pliku war (Patrz odpowiednia do HOWTO. użyj wiosennego rozruchu dla plików wojennych, które są wdrożone w rzeczywistych kontenerach sieciowych)

Podczas tworzenia rzeczy na frontendach używam springboot: biegnij, aby szybko przeładować zasoby itp. lub debugowanie kodu java wdrażam te rzeczy do tomcat w trybie debugowania. W przypadku wydania, muszę tylko zdecydować, jakiego typu opakowania chcę, ponieważ moja aplikacja może działać jako plik jar lub wojenny.

BTW: Jeśli chcesz korzystać tylko z tomcat (specjalne filtry itp.), Możesz użyć wbudowanego tomcat dla springboot: uruchom także, aby Twoje środowiska były bardziej podobne i nie upoluj duchów;)

Aktualizacja 2

Według https://github.com/spring-projects/spring-boot/issues/1138 można po prostu uruchomić główną metodę aplikacji rozruchowej do debugowania. Sądzę, że to pomaga przynajmniej raz wykorzystać cel maven, więc wszystko jest skompilowane/skopiowane itd. To działa dla mnie! :-)

Update 3 Zdaniem zespołu bagażnika sprężyna, zmienili drodze wiosna-boot: Uruchom działa, więc zaczynając od 1,2 powinien być w stanie korzystać z trybu debugowania za cel maven jak również, chociaż ich zalecanym sposobem uruchamiania aplikacji wiosennego rozruchu jest zawsze rozpoczynanie głównej metody.

Update 4 Mogę potwierdzić, że począwszy od wiosny 1.2 można bezpośrednio uruchomić cele Maven w trybie debugowania, aby móc ustawić punkty przerwania itp

+0

Dziękuję, że pomocne. Użyliśmy zewnętrznego tomcat do debugowania jspx i celu maven lub bezpośrednio do uruchomienia metody main() do debugowania java.To trochę denerwujące, kiedy musisz się przestawić z jednego lub drugiego, ale możemy z tym żyć. – asolana