2010-09-16 12 views
9

Nie zbudowałem wcześniej aplikacji WWW Java, ale mam ją wystarczająco kompletną do przetestowania i Maven buduje mój plik WAR w porządku. Jest to wielomodułowy projekt Maven, a wszystkie zależne moduły mają swoje pliki JAR w katalogu WEB-INF/lib WAR.Najlepszy sposób na debugowanie aplikacji WWW Java pakowanej jako WAR przy użyciu Eclipse i Maven?

Więc wszystko wydaje się w porządku, ale jak debugować? Wiem, jak (z wiersza poleceń) uruchomić WAR w Tomcacie na moim komputerze. Myślę też, że wiem, jak skonfigurować i uruchomić plugin Maven Jetty również z linii poleceń. Ale jak najlepiej debugować ... ze wszystkimi punktami awaryjnymi i zmienną inspekcją, którą kocham w Eclipse?

Czy jest jakiś rodzaj konfiguracji uruchamiania, którą powinienem utworzyć, czy też mogę zdalnie podłączyć debugger? Czy jest coś w Eclipse, które może pomóc ... jak wtyczka?

Odpowiedz

17

Jeśli prowadzisz swoją wojnę z opcji tomcat/pomost wtyczki wprost debugowania do Maven:

export MAVEN_OPTS="-Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000" mvn tomcat:run 

Jeśli prowadzisz swój WAR przy użyciu zwykłego Tomcat, wystarczy uruchomić go z JPDA (debugger) wsparcie włączona:

$TOMCAT_HOME/bin/catalina.sh jpda start 

Domyślny port dla Tomcat 6 JPDA jest 8000.

teraz połączyć z Eclipse (Debug -> Remote Java Application) na porcie 8000 i cieszyć się wyśmienitą debuggi ng sesja.

3

Aby włączyć debugowanie przez Eclipse:

mijam po starcie do Tomcat:

-Xnoagent -Xrunjdwp:transport=dt_socket,server=y,address=9999,suspend=n 

Następnie przez Eclipse zrobić zdalnego debugowania.

  • Goto Debug Configuration Menu> Debug

  • Przewiń w dół, aby wybrać Remote Java Zastosowanie

  • rt kliknij, aby utworzyć nową
    konfiguracji
  • Wybierz typ połączenia jako standard (Socket Attach) i dodaj nazwę hosta i port.

Aby rozpocząć debugowanie to prosty otwarte gdy serwer działa .---

+0

i wybierz projekt [kod źródłowy] oraz –

3

Czy istnieje jakiś rodzaj konfiguracji startowej należy utworzyć, czy mogę dołączyć debugera zdalnie? Czy jest coś w Eclipse, które może pomóc ... jak wtyczka?

Z m2eclipse (i Maven Integration for WTP że install z dodatkami The), można użyć WTP i uruchomić aplikację w trybie debugowania.

Alternatywnie można podłączyć zdalny debuger do mola. Zobacz Debugging with the Maven Jetty Plugin in Eclipse.

+0

Mam zainstalowany m2eclipse. Jak korzystać z WTP, aby uruchomić moją aplikację w trybie debugowania? – HDave

3

Lepszy sposób dodania opcji debugowania do opcji , a więc nie łączenie ich z innymi istniejącymi opcjami (jeśli chcesz uruchomić aplikację nie w trybie debugowania, musisz usunąć te opcje ponownie), to używać Maven out of box debugger mvnDebug, znajdującego się w katalogu bin, w ten sposób mvnDebug jetty:run. Spowoduje to uruchomienie aplikacji w trybie debugowania, a pozostała część to dołączenie debuggera.

+0

Nie wiedziałem, że 'mvnDebug' jest prostym sposobem na uruchomienie tego z Eclipse w ramach konfiguracji uruchamiania Maven? – HDave

+0

Jeśli zamierzasz używać mvnDebug, to powinien on pochodzić z wiersza poleceń nie z Eclipse (choć odłączenie debuggera może pochodzić z Eclipse). – ahmehri

Powiązane problemy