Sądzę, że atrybuty: groupId, artifactId oraz version są już na tyle jasne, że nie trzeba ich omawiać. Zajmiemy się jedynie tymi ciekawszymi:

<scope>

Zależność ta jest wykorzystywana do definiowania tzn. przechodniości zależności. Łatwiej to będzie zrozumieć opisując jej możliwe wartości:

  • compile – (domyślna, gdy scope nie został ustawiony) zależność jest dostępna w IDE, testach, trafia do paczki wynikowej i jest propagowana do zależności nadrzędnych,
  • provided – działa tak samo jak compile, z tym wyjątkiem, że nie zostaje załączona do paczki wynikowej,
  • runtime – zależność niepotrzebna przy kompilacji projektu, a jedynie do jego testów oraz uruchomienia,
  • test – zależność nie wymagana w żadnej fazie poza testowaniem,
  • system – tak samo jak provided, z tym, że zależność nie jest załączana z repozytorium, ale bezpośrednio z systemu,
  • import – wskazuje zależność z innego projektu

<exclusions>

Z powodu rekurencyjnego załączania zależności może się zdarzyć, że dołączymy do naszego projektu coś, z czego nie będziemy korzystać. Z tego właśnie powodu powstała funkcja „wyrzucania” podrzędnej zależności. Przykład:

Powyższa definicja sprawi, że mimo iż ProjectA jest zależny od ProjectB, to ProjectB zostanie całkowicie pominięty przy skanowaniu drzewa zależności i budowaniu projektu. O ile oczywiście nie został dołączony w innym module.

A oto paczka powstała po zakończeniu tego etapu: KINO


Kurs Maven’a [cz.01] – wstęp
Kurs Maven’a [cz.02] – od czego zacząć
Kurs Maven’a [cz.03] – do czego ten maven
Kurs Maven’a [cz.04] – zależności
Kurs Maven’a [cz.05] – instalacja
Kurs Maven’a [cz.06] – tworzenie modułu, archetyp
Kurs Maven’a [cz.07] – tworzenie modułu, kopiowanie
Kurs Maven’a [cz.08] – tworzenie modułu ręcznie
Kurs Maven’a [cz.09] – parent pom
Kurs Maven’a [cz.10] – import do Eclipsa
Kurs Maven’a [cz.11] – zależności zewnętrzne
Kurs Maven’a [cz.12] – zależności wewnętrzne
> Kurs Maven’a [cz.13] – scope, exclusion
Kurs Maven’a [cz.14] – parametry (properties)
Kurs Maven’a [cz.15] – profile
Kurs Maven’a [cz.16] – cykl życia
Kurs Maven’a [cz.17] – pluginy
Kurs Maven’a [cz.18] – repozytoria zdalne
Kurs Maven’a [cz.19] – podsumowanie