5.1 Lista fazelor proiectului

În sfârșit, am ajuns la asamblarea proiectului. Și atunci vei fi puțin surprins. Ei bine, sau puternic, după cum se dovedește. Maven și-a revizuit abordarea de a construi un proiect. Și acum te vei convinge de asta.

Întregul ansamblu al proiectului a fost împărțit în faze, a căror descriere o voi oferi în tabelul de mai jos:

Ordin Fază
1 valida verifică corectitudinea metainformațiilor despre proiect
2 compila compila sursele
3 Test rulează testele de clasă de la pasul anterior
4 pachet împachetează clasele compilate într-un nou artefact: jar, război, zip, ...
5 verifica verifică corectitudinea artefactului și satisfacerea cerințelor de calitate
6 instalare pune artefactul în depozitul local
7 disloca încarcă un artefact pe un server de producție sau un depozit de la distanță

În același timp, pașii sunt în mod clar secvențiali . Dacă îi spuneți lui Maven să ruleze comanda pachetului, va rula mai întâi fazele de validare, compilare, testare și abia apoi pachet

În principiu, nu este nimic nou aici, cu excepția faptului că există faze separate pentru controlul calității: validare, testare, verificare. Și până la două faze pentru implementarea ansamblului - instalarea și implementarea.

Pentru a începe o anumită fază, este suficient să scrieți comanda maven phase . De exemplu, pentru a construi, trebuie să rulați comanda maven package . etc.

Intellij IDEA este excelent la lucrul cu aceste faze și are un meniu special în dreapta pentru aceste scopuri:

faza maven

Aici, pe lângă fazele cunoscute, IDEA afișează încă 2 comenzi: clean și site . clean este folosit pentru a șterge complet folderul țintă, iar site-ul poate crea documentația proiectului.

5.2 Construirea unui proiect

Dacă doriți să compilați proiectul, atunci trebuie să rulați faza de compilare. Acest lucru se poate face folosind linia de comandă: mvn compile sau prin interfața IDEA făcând clic pe elementul de compilare .

După aceea, Maven va începe să construiască proiectul și veți vedea un jurnal al procesului de construire similar cu acesta:

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.742 s
[INFO] Finished at: 2016-09-19T22:41:26+04:00
[INFO] Final Memory: 7M/18M
[INFO] ------------------------------------------------------------------------

Dacă ceva a mers prost, jurnalul va arăta astfel:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile (default-compile) on project demo: Fatal error compiling: invalid target release: 11 -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible sliutions, please read the flilowing articles:
[ERROR] [Help 1]
http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException 

În jurnal vor fi multe informații utile, cu timpul vei învăța să le înțelegi și să le apreciezi.

5.3 Cicluri de lucru

Toate comenzile Maven sunt împărțite în trei grupuri - cicluri de viață. Ele sunt numite cicluri de viață deoarece specifică ordinea fazelor care rulează în timpul unei build sau un anumit ciclu de viață, deoarece nu toate activitățile Maven sunt build-uri.

Există trei cicluri de viață:

  • curat;
  • Mod implicit;
  • site-ul.

Și fiecare dintre ele are propria sa ordine de fază. Clean are cel mai scurt:

  1. precurățare;
  2. curat;
  3. post curatenie.

Au fost adăugate faze suplimentare ascunse de pre-curățare și post-curățare, astfel încât scenariul de curățare să poată fi flexibilizat.

Apoi urmează ciclul de viață al site-ului , care, după cum știți deja, este conceput pentru a genera automat documentația proiectului. Este format din patru faze:

  1. pre-site
  2. site-ul;
  3. post-site;
  4. site-deploy.

Ciclurile de viață standard pot fi îmbunătățite cu funcționalități folosind plugin-uri Maven . Vom vorbi despre asta mai târziu, deoarece acesta este un subiect foarte interesant care merită o prelegere separată.

Și scriptul implicit are cea mai lungă listă de faze:

  1. valida;
  2. genera-surse;
  3. surse-proces;
  4. genera-resurse;
  5. proces-resurse;
  6. compila;
  7. surse-test-proces;
  8. proces-test-resurse;
  9. compilarea testului;
  10. Test;
  11. pachet;
  12. instalare;
  13. disloca.

Există toate aceleași faze despre care știți deja, dar au mai fost adăugate câteva opționale.

În primul rând, o etapă populară în proiectele mari este generarea surselor : generarea de cod Java bazat pe XML, de exemplu. Și o pereche de surse de proces , care face ceva cu acest cod.

În al doilea rând, generarea de resurse este generarea de resurse și metoda ei de resurse de proces pereche . Veți vedea adesea unele activități legate de aceste faze în proiecte mari.

Și în sfârșit, testarea. Are trei faze suplimentare opționale care ajută la realizarea fazei de testare cât mai flexibilă posibil: proces-test-surse, proces-test-resurse, test-compilare.