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
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
3
Q
Dependencies
A
- zewnętrzne bibloiteki potrzebne do projektu
- maven pobiera j z centralnego repozytorium, lokalnego albo remote repo
4
Q
Elementy pom.xml
A
- project - ała struktura pliku pom.xml mieści się w tagach
- model version - ientyfikuje jaka wersja Poma 4.0 dla maven 3
- groupId - jak project root java package name
- artifactId - nazwa projektu
- version
- scope
- packaging
Inne
dependencies, dependency
groupId
scope
5
Q
Cykle żzycia budowy
A
- Clean czyszczenie projektu, - usuinięcie wszystki plików wygnerowanych podczas budowy
- Default - kompilacji, testowania, instalacji i wdrażania
- Site - używany do tworzenia dokumentacji projektu
6
Q
Phases
A
- validate - prawdzanie czy struktura całego projektu i głównego pliku POM jest poprawna
- Test uruchamianie testów
- package tworzona jest package
- Compile - kompilacja kodu zródlowego
- Verify
- Install dodanie pakietu do loaklnego repozytorium aby mógł być uzywany w innych projektach
- Deploy wysłanie do zdalnego repozytorium
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
8
Q
Repozytorium
A
- lokalne - stworzone przez nas paczki w fazie życia install
- zdalne
9
Q
Archetype
A
- szablon na podstawie którego tworzony jest projet maven
10
Q
Dependency scope
A
-
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). -
provided
- wymagane do kompilacji i testowania, ale oczekuje się, że będą dostarczone przez webserver, JDK, kontener -
Runtime
- nie są potrzebne do kompilacji, ale są wymagane w czasie wykonywania. -
Test
- są dostępne tylko na ścieżce klas w fazie testowania i nie są dołączane do wynikowego artefaktu. - System
-
Import
- używany tylko w sekcji dependencyManagement w celu importowania zależności z innego POM.