Maven ciljevi i faze

1. Pregled

U ovom uputstvu istražit ćemo različite životne cikluse gradnje Mavena i njihove faze.

Također ćemo razgovarati o suštinskoj vezi između ciljeva i faza.

2. Maven Build Lifecycle

Izgradnja Mavena slijedi određeni životni ciklus za postavljanje i distribuciju ciljanog projekta.

Ugrađena su tri životna ciklusa:

  • zadano: glavni životni ciklus jer je odgovoran za implementaciju projekta
  • clean: za čišćenje projekta i uklanjanje svih datoteka generiranih prethodnom gradnjom
  • site: za izradu dokumentacije mjesta projekta

Svaki životni ciklus sastoji se od niza faza. The zadano Životni ciklus gradnje sastoji se od 23 faze jer je to glavni životni ciklus gradnje.

S druge strane, čist Životni ciklus sastoji se od 3 faze, dok se web mjesto životni ciklus sastoji se od 4 faze.

3. Mavenova faza

Mavenova faza predstavlja fazu u Mavenovoj gradnji životni ciklus. Svaka je faza odgovorna za određeni zadatak.

Evo nekoliko najvažnijih faza u zadano izgraditi životni ciklus:

  • potvrditi: provjerite jesu li dostupne sve informacije potrebne za izradu
  • sastaviti: sastaviti izvorni kod
  • test-kompajlirati: sastaviti testni izvorni kod
  • test: pokrenuti jedinstvene testove
  • paket: paket preveo izvorni kod u format koji se može distribuirati (jar, rat, ...)
  • integracijski test: obraditi i rasporediti paket ako je potrebno za pokretanje integracijskih testova
  • instalirati: instalirajte paket u lokalno spremište
  • rasporediti: kopirajte paket u udaljeno spremište

Potpuni popis faza svakog životnog ciklusa potražite u referenci Maven.

Faze se izvršavaju određenim redoslijedom. To znači da ako pokrenemo određenu fazu pomoću naredbe:

mvn 

Ovo neće izvršiti samo navedenu fazu već i sve prethodne faze.

Na primjer, ako pokrenemo rasporediti faza - koja je zadnja faza u zadano izgraditi životni ciklus - koji će izvršiti sve faze prije rasporediti faza također, koja je cjelokupna zadano životni ciklus:

mvn rasporediti

4. Cilj Maven

Svaka faza je slijed ciljeva, a svaki je cilj odgovoran za određeni zadatak.

Kada pokrenemo fazu - svi ciljevi vezani za ovu fazu izvršavaju se redom.

Evo nekoliko faza i zadanih ciljeva vezanih uz njih:

  • sastavljač: sastaviti - the sastaviti cilj iz sastavljač dodatak je vezan za sastaviti faza
  • sastavljač: testCompile je vezan za test-sastaviti faza
  • sigurna vatra: test je dužan test faza
  • instalirati: instalirati je dužan instalirati faza
  • tegla: tegla i rat: rat je dužan paket faza

Pomoću naredbe možemo navesti sve ciljeve vezane za određenu fazu i njihove dodatke:

mvn pomoć: opisati -Dcmd = FASENAME

Na primjer, za popis svih ciljeva vezanih za sastaviti fazu, možemo pokrenuti:

mvn pomoć: opisati -Dcmd = prevesti

I uzmite uzorak rezultata:

compile 'je faza koja odgovara ovom dodatku: org.apache.maven.plugins: maven-compiler-plugin: 3.1: compile

Što, kao što je gore spomenuto, znači sastaviti cilj od sastavljač dodatak je vezan za sastaviti faza.

5. Dodatak Maven

Dodatak Maven skupina je ciljeva. Međutim, ti ciljevi nisu nužno svi vezani za istu fazu.

Na primjer, evo jednostavne konfiguracije dodatka Maven Failsafe koji je odgovoran za pokretanje integracijskih testova:

   maven-failsafe-plugin $ {maven.failsafe.version} integracija-test provjera 

Kao što vidimo, dodatak Failsafe ima dva glavna cilja koja su ovdje konfigurirana:

  • integracija-test: pokrenite integracijske testove
  • provjeriti: provjeriti sve prolaze testove integracije

Sljedeću naredbu možemo koristiti za navesti sve ciljeve u određenom dodatku:

mvn: pomoć

Na primjer, da biste naveli sve ciljeve u dodatku Failsafe:

mvn failsafe: pomoć

A rezultat ovoga bit će:

Ovaj dodatak ima 3 cilja: failsafe: help Prikažite informacije o pomoći na maven-failsafe-plugin. Nazovite mvn failsafe: help -Ddetail = true -Dgoal = za prikaz detalja parametara. failsafe: test integracije Pokrenite testove integracije koristeći Surefire. failsafe: provjeriti Provjerite integracijske testove pokrenute pomoću Surefire-a.

Pokretanje određenog cilja bez izvršavanja cijele njegove faze (i prethodnih faza) možemo koristiti naredbu:

mvn:

Na primjer, trčati integracija-test cilj iz dodatka Failsafe, moramo pokrenuti:

mvn failsafe: integracijski test

6. Izgradnja projekta Maven

Da bismo izgradili Mavenov projekt, moramo izvršiti jedan od životnih ciklusa pokretanjem jedne od njihovih faza:

mvn rasporediti

Ovo će izvršiti cijeli zadano životni ciklus. Alternativno, možemo se zaustaviti na instalirati faza:

mvn instalirati

Ali obično koristimo naredbu:

mvn čista instalacija

Da biste prvo očistili projekt - pokretanjem čist životni ciklus - prije nove gradnje.

Također možemo pokrenuti samo određeni cilj dodatka:

mvn kompajler: kompajliraj

Imajte na umu da će, ako smo pokušali izraditi Maven projekt bez navođenja faze ili cilja, to uzrokovati pogrešku:

[POGREŠKA] Za ovu izgradnju nisu navedeni ciljevi. Morate navesti valjanu fazu životnog ciklusa ili cilj

7. Zaključak

U ovom smo članku razgovarali o Mavenovim životnim ciklusima, kao i o odnosu između Mavenovih faza i ciljeva.