!!! Ha még nem tetted, klónozd ezt a git repót.
git clone https://github.com/GethDeeo/itday-mvn-workshop.git
!!! A leírásban parancsok esetén a filerendszeri útvonalakban a Windows-on megszokott \
-t találjátok,
Linux esetén mindenképpen a /
használata szükséges.
- JDK 1.8 (például Amazon Corretto 8)
JAVA_HOME
környezeti változó helyes beállítása
Ellenőrzés:java -version
(ha aPATH
környezeti változó tartalmazza a<JAVA_HOME>\bin
könyvtárat)
- (opcionális) Apache Maven
3.6.3
(minimum)- a
PATH
környezeti változó tartalmazza a<Maven>\bin
könyvtárat
- a
- (ajánlott) Bármilyen XML-barát szerkesztő/IDE
Sokat segít ha színez, kiegészíti legalább a záró tageket.
A projekten a Maven Wrapper inicializálva van (ezért opcionális maga a Maven).
Emiatt a parancssorban a megszokott mvn <argumentumok>
forma helyett használható
(a projekt gyökerében állva) a .\mvnw.cmd <argumentumok>
(Windows) vagy ./mvnw <argumentumok>
(Linux) forma is.
- Maven verzió ellenőrzése (különös tekintettel a Maven által használt JDK-ra):
mvn -v
- Projekt ellenőrzése:
mvn clean verify
(~30 perc előadás)
- Workshop programja, menete
- Alapfogalmak
settings.xml
,pom.xml
- Maven koordináta (G:A:V)
- Leszármazás, aggregálás
- Plugin (management, configuration, execution,
buildplan:list
) - Packaging, lifecycle
- Függőség (scope, management, exclusion,
dependency:tree
) - Profil (activation)
- Projekt bemutatása
- EJB modul
- WAR modul
- EAR modul
- parent POM
A (tisztán Java) projekten szeretne a csapat Spockot használni unit tesztekhez.
(~15 perc + megbeszélés)
- Spock + Groovy teszt-függőségek felvétele
https://github.com/spockframework/spock-example - Fordításhoz szükséges GMavenPlus plugin bekötése
https://groovy.github.io/GMavenPlus/ - Futtatáshoz szükséges SureFire plugin konfigurációja
- Ellenőrzés
A projekten rögtön 2 új függőséget kell felvenni, ahol az egyiket a projektnek kell tartalmaznia, míg a másikat az alkalmazás szerver képes biztosítani.
(~15 perc + megbeszélés)
- Függőségek vizsgálata (tranzitivitás)
- Függőségek felvétele
- Kivételek definiálása,
MANIFEST.MF
bővítése - Ellenőrzés
A projekt EAR modulja tartalmaz minden szükséges dolgot, így elég csak azt feltölteni a központi tárolóba.
(~15 perc + megbeszélés)
- Modulok kizárása a deploy folyamatból
- POM lapítása
https://www.mojohaus.org/flatten-maven-plugin/ - Ellenőrzés