Maven – automatyczne budowanie projektu

Pisanie aplikacji w Javie wymaga importowania bibliotek w celu zapewnienia konkretnych funkcjonalności . Jak zdążyliśmy się już wcześniej przekonać jest ich bardzo dużo i często nie ma potrzeby podłączania dodatkowych bibliotek. Jednakże, aby zestawić połączenie z bazą danych potrzebujemy zewnętrznego sterownika dostarczonego przez producenta.

Dlaczego używać Mavena?

Tak jak wspomnieliśmy wyżej niektóre biblioteki dołączamy do naszych projektów z zewnątrz. Zatem musimy je wyszukać oraz dołączyć do projektu. Dołączenie pojedynczej biblioteki nie wydaje się skomplikowanym zadaniem, zatem po co w ogóle uczyć się nowego narzędzia?

Maven jest narzędziem, które nie tylko ułatwia dołączanie zewnętrznych bibliotek do projektów, ale także ułatwia zarządzanie ich wersją. W normalnym przypadku, gdy chcemy uaktualnić pliki bibliotek jesteśmy zmuszeni do ich ręcznej podmiany. W przypadku Mavena ten możemy łatwo zautomatyzować ten proces.

Dodatkowym atutem jest ogromne repozytorium zawierające mnóstwo gotowych rozwiązań, które normalnie musielibyśmy zaimplementować sami.

Plik pom.xml

Project Object Model (POM) jest głównym składnikiem projektu. Składa się z różnych tagów, których znaczenie jest następujące.

  • project – główny tag projektu. Wszystkie inne znajdują się wewnątrz niego.
  • groupId – Nazwa organizacji, która tworzy projekt. np. pl.programistajava.
  • artifactId – Określa cel projektu. Może to być plik jar.
  • version – wersja aplikacji. Zmienia się wraz z kolejnymi poprawkami lub dodawanymi funkcjonalnościami.
  • ModelVersion – wersja użytego Mavena
  • url – adres naszego projektu.
  • dependencies – różne dodatkowe zależności, takie jak: zewnętrzne biblioteki, sterowniki do baz danych.
  • name – nazwa projektu.

Tworzenie projektu z Maven

Jednym ze sposobów jest ściągnięcie oprogramowania z oficjalnej strony projektu oraz rozpakowanie go w dowolnym miejscu na dysku. Następnym krokiem jest dodanie zmiennej środowiskowej.

My jednak wykorzystamy pakiet dołączony do IDE Eclipse. Aby sprawdzić czy w naszym środowisku jest zainstalowany Maven wystarczy wybrać:

Window → Preferences → Maven

Jeśli na liście opcji go nie ma należy pobrać go z repozytorium Eclipse. Przy okazji sprawdzania warto zaznaczyć opcję „Download repository index at startup”.

Tworzenie nowego projektu Maven w Eclipse

W celu utworzenia nowego projektu jak klikamy:

File → new → Maven Project

Na razie zaznaczamy brak artefaktu. Wypełnienie kolejnych okienek wymaga zrozumienie tagów XML z pliku pom.xml.

Tworzenie projektu Maven w Eclipse

Tworzenie projektu Maven w Eclipse

Po utworzeniu projektu wybieramy plik pom.xml. Zobaczymy w nim dane, które wypełniliśmy przed chwilą.

Moc Mavena pochodzi z jego ogromnego repozytorium, które jest dostępne w sieci. Wystarczy wyszukać hasło „Maven repository”, a następnie interesujący nas moduł. Po wybraniu odpowiedniej wersji jedyne co należy zrobić to wkleić pod tagiem <dependecies>. Poniżej przykładowy dokument pom.xml.

Dzięki zastosowaniu Mavena nie musimy już ręcznie dodawać sterownika do bazy danych. Wystarczyło znaleźć odpowiednią zależność w repozytorium. Poniżej obrazek pokazujący automatycznie dodany sterownik bazy danych MySQL.

Maven - struktura projektu

Maven – struktura projektu

Poniżej znajduje się przykładowy kod pobierający dane z bazy.

Korzystanie z Mavena niesie ze sobą wiele korzyści. Powyżej pokazaliśmy przykład dużo łatwiejszego zarządzania projektem. W repozytorium natomiast znajduje się mnóstwo gotowych bibliotek z rozwiązaniami, które normalnie byśmy musieli sami opracować.  Zatem zanim spróbujemy sami coś zrobić warto sprawdzić czy ktoś nie zrobił już tego wcześniej i udostępnił.