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.