c0ffee.pl

o kodzie przy kubku kawy

Witaj na moim blogu! Jestem Kamil, na codzień zajmuje się pisaniem kodu w Javie (i nie tylko). Więcej o mnie możesz znaleźć na mojej stronie.

Uruchamianie webaplikacji z Mavenem w Eclipse

Uruchamianie webaplikacji z Mavenem w Eclipse

Ze względu na ciągle powtarzające się problemy i błędy Eclipse zmieniłem IDE na Intellij IDEA. Jednak ostatnio miałem okazję konfigurować środowisko z użyciem Eclipse i natknąłem się na kolejną przeszkodę - uruchamianie aplikacji webowej korzystającej z Mavena. Udało mi się jednak rozwiązać ten problem. ;-)

Sam problem objawiał się tym, że po zaimportowaniu projektu, tak samo jak po próbie dodania w ustawieniach projektu w zakładce Facets opcji Dynamic web module, projekt wciąż nie pozwalał uruchomić się jako aplikacja webowa. A nawet jeśli udało się uruchomić to zamiast poprawnego działania rzucał różnego rodzaju błędami.

Przejdźmy jednak do rozwiązania problemu. Przede wszystkim należy zaimportować nasz projekt do Eclipse. Możemy to zrobić klikając File → Import, a następnie z listy wybierając Existing Maven Projects. Po kilku kliknięciach Next i Finish mamy zaimportowaną aplikację.

Musimy także dodać plugin Tomcata 7 w sekcji build (zmieniając “kontekst-aplikacji” na interesującą nas ścieżkę np. “webapp”):

Xml
<plugin>
	<groupId>org.apache.tomcat.maven</groupId>
	<artifactId>tomcat7-maven-plugin</artifactId>
	<version>2.2</version>
	<configuration>
		<path>/kontekst-aplikacji</path>
	</configuration>
</plugin>

Gdy już zaimportowaliśmy projekt i dodaliśmy plugin w konfiguracji możemy stworzyć konfiguracje uruchomieniową (Run configuration), która wystartuje nam serwer Tomcata i zdeployuje nam aplikacje. W tym celu wybieramy Run → Run Configurations… i dodajemy nową konfiguracje typu Maven Build. W Base directory wprowadzamy ścieżkę do naszego projektu (wybierając Browse Workspace.., a następnie wybierając nasz projekt i klikając Ok). Następnie w Goals wpisujemy tomcat7:run,

eclipse-maven-webapp-1

a w zakładce JRE w polu “VM arguments” (argumenty wirtualnej maszyny):


-XX:MaxPermSize=256m -Xms128m -Xmx512m -Djava.awt.headless=true
-Xdebug -Xnoagent
-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9000

Argumenty te zwiększają liczbę dostępnej pamięci dla maszyny wirtualnej, wymuszają jej uruchomienie w trybie headless (czyli w trybie, który zakłada brak podłączonego interfejsu wejścia-wyjścia), oraz sprawia, że maszyna wystawia na porcie 9000 interfejs do zdalnego debugowania.

eclipse-maven-webapp-2

Dzięki temu będziemy mogli podłączyć się do Tomcata za pomocą zdalnego debugowania. Teraz też możemy utworzyć konfiguracje debugowania (Debug configuration). Wybieramy Run → Debug configurations… i tworzymy nową konfiguracje typu Remote Java Application. Wybieramy nasz projekt, a w Connection properties ustawiamy host na localhost i port na 9000.

eclipse-maven-webapp-3

Zapisujemy i gotowe ;-)

Teraz możemy uruchomić nasz projekt na Tomcat 7 wybierając pierwszą konfigurację (będzie dostępna pod adresem localhost:8080/kontekst-aplikacji, a następnie podłączyć się do niej by debugować kod uruchamiając debugowanie wg drugiej konfiguracji.

Miłego debugowania kodu w Eclipse! :-)

Opublikowano:
comments powered by Disqus

Wszystkie wpisy, które tutaj znajdziesz są pod licencją CC BY-NC 4.0.

Strona korzysta z ciasteczek. Po więcej informacji zajrzyj w pomoc dostarczaną przez producenta Twojej przeglądarki.