Maven célok és fázisok
1. Áttekintés
Ebben az oktatóanyagban a Maven felépítésének különböző életciklusait és azok fázisait tárjuk fel.
Megbeszéljük a célok és a fázisok alapvető kapcsolatát is.
2. Maven Build életciklus
A Maven-összeállítás egy meghatározott életciklust követ a célprojekt telepítéséhez és terjesztéséhez.
Három beépített életciklus létezik:
- alapértelmezett: a fő életciklus, mivel ez felelős a projekt telepítéséért
- tiszta: a projekt megtisztítása és az előző build által létrehozott összes fájl eltávolítása
- site: a projekt helyszíni dokumentációjának elkészítése
Minden életciklus fázisok sorozatából áll. A alapértelmezett az összeállítás életciklusa 23 fázisból áll, mivel ez a fő életciklus.
Másrészről, tiszta az életciklus 3 fázisból áll, míg a webhely az életciklus 4 fázisból áll.
3. Maven fázis
A Maven fázis a Maven felépítésének egy szakaszát jelenti életciklus. Minden szakasz felelős egy adott feladatért.
Íme néhány a alapértelmezett életciklus:
- érvényesít: ellenőrizze, hogy rendelkezésre áll-e az összes szükséges információ a buildhez
- összeállítás: állítsa össze a forráskódot
- teszt-összeállítás: állítsa össze a teszt forráskódját
- teszt: futtassa az egység tesztjeit
- csomag: csomagolt forráskódot terjeszthető formátumban (jar, war,…)
- integrációs teszt: az integrációs tesztek futtatásához szükség esetén dolgozza fel és telepítse a csomagot
- telepítés: telepítse a csomagot egy helyi adattárba
- bevetni: másolja a csomagot a távoli adattárba
Az életciklus egyes szakaszainak teljes listáját a Maven Reference-ben találja meg.
A fázisokat meghatározott sorrendben hajtják végre. Ez azt jelenti, hogy ha egy adott fázist futtatunk a paranccsal:
mvn
Ez nem csak a megadott fázist hajtja végre, hanem az összes előző fázist is.
Például, ha lefuttatjuk a bevetni fázis - ami az utolsó fázis a alapértelmezett build életciklus - amely az összes fázist végrehajtja a bevetni fázis is, ami az egész alapértelmezett életciklus:
mvn telepítés
4. Maven Goal
Minden fázis a célok sorrendje, és minden cél felelős egy adott feladatért.
Amikor fázist futtatunk - az ehhez a fázishoz kötött összes cél sorrendben valósul meg.
Íme néhány, a hozzájuk kötött fázis és alapértelmezett cél:
- fordító: fordítás - a összeállítani gól a fordítóprogram a plugin a összeállítani fázis
- fordító: testCompile kötődik a teszt-összeállítás fázis
- biztos: teszt hozzá tartozik teszt fázis
- install: install hozzá tartozik telepítés fázis
- korsó: korsó és háború: háború hozzá tartozik csomag fázis
A következő paranccsal felsorolhatunk egy adott fázishoz kötött összes célt és bővítményeiket:
mvn help: írja le -Dcmd = PHASENAME
Például, hogy felsoroljuk az összes célt, amely a összeállítani fázisban futhatunk:
mvn help: írja le -Dcmd = fordítás
És kapja meg a minta kimenetét:
fordítás 'egy fázis, amely megfelel ennek a bővítménynek: org.apache.maven.plugins: maven-compiler-plugin: 3.1: fordítás
Ami, mint fent említettük, azt jelenti összeállítani góltól fordítóprogram a plugin a összeállítani fázis.
5. Maven plugin
A Maven plugin a célok csoportja. Ezek a célok azonban nem feltétlenül kapcsolódnak ugyanahhoz a fázishoz.
Például itt van a Maven Failsafe plugin egyszerű konfigurációja, amely az integrációs tesztek futtatásáért felelős:
maven-failsafe-plugin $ {maven.failsafe.version} integrációs teszt ellenőrzése
Mint láthatjuk, a Failsafe bővítménynek két fő célja van itt konfigurálva:
- integrációs teszt: futtassa az integrációs teszteket
- igazolja: ellenőrizze az összes sikeres integrációs tesztet
A következő parancsot használhatjuk a sorolja fel az összes célt egy adott beépülő modulban:
mvn: segítség
Például az összes cél felsorolásához a Failsafe beépülő modulban:
mvn failsafe: segítség
Ennek kimenete a következő lesz:
Ennek a bővítménynek 3 célja van: failsafe: help Súgóinformációk megjelenítése a maven-failsafe-pluginről. Hívja az mvn failsafe-t: help -Ddetail = true -Dgoal = a paraméter részleteinek megjelenítéséhez. failsafe: integráció-teszt Futtassa az integrációs teszteket a Surefire használatával. failsafe: ellenőrizze, hogy a Surefire használatával futtatták-e az integrációs teszteket.
Egy adott cél futtatása a teljes fázis (és az azt megelőző fázisok) végrehajtása nélkül használhatjuk a parancsot:
mvn:
Például futni integrációs teszt a Failsafe pluginból, futtatnunk kell:
mvn failsafe: integrációs teszt
6. Maven projekt felépítése
A Maven projekt felépítéséhez az egyik életciklust az egyik fázis futtatásával kell végrehajtanunk:
mvn telepítés
Ez végrehajtja az egészet alapértelmezett életciklus. Alternatív megoldásként megállhatunk a telepítés fázis:
mvn install
De általában a következő parancsot használjuk:
mvn tiszta telepítés
Először a projekt megtisztítása - a tiszta életciklusa - az új felépítés előtt.
A bővítménynek csak egy meghatározott célját tudjuk futtatni:
mvn fordító: fordítás
Ne feledje, hogy ha megpróbáltunk egy Maven projektet felépíteni fázis vagy cél megadása nélkül, az a hibát okozza:
[HIBA] Ehhez az összeállításhoz nincs megadva cél. Meg kell adnia egy érvényes életciklus-fázist vagy egy célt
7. Következtetés
Ebben a cikkben megvitattuk a Maven felépítésének életciklusait, valamint a Maven fázisainak és céljainak kapcsolatát.