Maven Flashcards

1
Q

Czym jest maven ?

A
  • to narzędzie do zarządznia projektem
  • Automatyczne zarządzanie zależnośćiami maven automatyzuje proces pobierania potrzebny do budowy projekcu z pom.xml
  • ułatwia zbudowania JAR
  • promuje strukturę projektu co ułatwia orientacje
  • umożliwa zarządzanie wieloma modułami w ramach jednego projektu
  • współpracuje z narzędzami CI/CD
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Pom.xml

A
  • project object model
  • zawiera informacje o projekcie, configuracji
  • zależności, źródła
  • plugin
  • jeśli chcesz używać komand maven musi być POM.XML
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Dependencies

A
  • zewnętrzne bibloiteki potrzebne do projektu
  • maven pobiera j z centralnego repozytorium, lokalnego albo remote repo
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Elementy pom.xml

A
  1. project - ała struktura pliku pom.xml mieści się w tagach
  2. model version - ientyfikuje jaka wersja Poma 4.0 dla maven 3
  3. groupId - jak project root java package name
  4. artifactId - nazwa projektu
  5. version
  6. scope
  7. packaging

Inne
dependencies, dependency
groupId
scope

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Cykle żzycia budowy

A
  1. Clean czyszczenie projektu, - usuinięcie wszystki plików wygnerowanych podczas budowy
  2. Default - kompilacji, testowania, instalacji i wdrażania
  3. Site - używany do tworzenia dokumentacji projektu
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Phases

A
  1. validate - prawdzanie czy struktura całego projektu i głównego pliku POM jest poprawna
  2. Test uruchamianie testów
  3. package tworzona jest package
  4. Compile - kompilacja kodu zródlowego
  5. Verify
  6. Install dodanie pakietu do loaklnego repozytorium aby mógł być uzywany w innych projektach
  7. Deploy wysłanie do zdalnego repozytorium
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Struktura katalogu

A
  • target – w tym folderze znajduje się m.in. JAR/WAR wynikowy budowania aplikacji
  • src/main – kody źródłowe aplikacji
  • src/test – testy jednostkowe aplikacji
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Repozytorium

A
  • lokalne - stworzone przez nas paczki w fazie życia install
  • zdalne
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Archetype

A
  • szablon na podstawie którego tworzony jest projet maven
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Dependency scope

A
  1. compile - domyślny
    - Zależności są dostępne na ścieżce klas w fazach kompilacji i wykonania.
    - Włączone w Wynikowym Pakiecie: Zależności są dołączane do wynikowego artefaktu (np. JAR).
  2. provided
    - wymagane do kompilacji i testowania, ale oczekuje się, że będą dostarczone przez webserver, JDK, kontener
  3. Runtime
    - nie są potrzebne do kompilacji, ale są wymagane w czasie wykonywania.
  4. Test
    - są dostępne tylko na ścieżce klas w fazie testowania i nie są dołączane do wynikowego artefaktu.
  5. System
  6. Import
    - używany tylko w sekcji dependencyManagement w celu importowania zależności z innego POM.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly