Ce este Apache Maven? POM-uri, cicluri de viață și gestionarea dependențelor


Data publicării:

Actualizat:


Articole tehnice > Ce este Apache Maven? POM-uri, cicluri de viață și gestionarea dependențelor

Contextul din 2026 și utilizarea în siguranță

Concluzie: Maven este un instrument de build și de administrare a proiectelor Java bazat pe convenții. POM-ul declară coordonatele proiectului, dependențele, pluginurile și setările de build, iar fazele ciclului de viață oferă un proces repetabil pentru compilare, testare, împachetare, verificare și publicare.

Ce vei învăța

  • Ce gestionează Maven și ce trebuie păstrat în controlul versiunilor sau în configurația CI.
  • Cum se leagă coordonatele POM, repository-urile, pluginurile, fazele și scope-urile dependențelor.
  • De ce rezolvarea dependențelor este doar o parte a întregului proces de build.

Cui se adresează: Dezvoltatorilor Java care evaluează Maven sau încearcă să înțeleagă un pom.xml vechi.

Contextul din 2026: Folosiți Maven Wrapper, fixați versiunile pluginurilor, protejați credențialele pentru repository și verificați POM-ul efectiv în CI. Exemplele explică noțiunile de bază; consultați documentația oficială pentru compatibilitatea dintre versiunea Maven, pluginuri și JDK.

Notă de siguranță: Comenzile și configurațiile vechi nu au fost rulate din nou într-un mediu de producție actual. Verificați versiunile acceptate, copiile de rezervă, controalele de acces și pașii de rollback într-un mediu de testare separat.

Surse oficiale principale

Prezentare generală

Apache Maven, denumit în continuare Maven, este un instrument de build și de administrare a proiectelor Java. Articolul prezintă rolul POM-ului, al repository-urilor, al pluginurilor și al ciclului de viață, pentru a oferi o imagine coerentă asupra modului în care Maven execută un build.

Cuprins

  1. Ce este Maven?
  2. Ce puteți face cu Maven
  3. Rezumat

1. Ce este Maven?

Maven este un instrument de build și de administrare a proiectelor. Dacă noțiunea de build Java nu este clară, consultați mai întâi articolul următor.

Ce înseamnă „build” în Java?

Un build obișnuit include mai multe activități:

  • rezolvarea dependențelor JAR;
  • stabilirea directorului pentru rezultatele compilării; și
  • crearea artefactelor JAR sau WAR.

Maven coordonează aceste activități pe baza POM-ului și a convențiilor proiectului.

Pagina oficială „What is Maven?” descrie obiectivele proiectului.

https://maven.apache.org/what-is-maven.html

Fragmentul următor, păstrat în limba originală, rezumă obiectivul Maven.

Maven’s primary goal is to allow a developer to comprehend the complete state of a development effort in the shortest period of time. In order to attain this goal, Maven deals with several areas of concern:

  • Making the build process easy
  • Providing a uniform build system
  • Providing quality project information
  • Encouraging better development practices

Pe scurt, Maven facilitează crearea unui mediu de build care să funcționeze corect.

2. Ce puteți face cu Maven

Funcțiile de mai jos arată cum Maven face procesul de build coerent între dezvoltatori și mediile CI.

2-1. Executarea etapelor unui build de bază

Maven execută faze standardizate, astfel încât proiectele nu trebuie să inventeze câte un script diferit pentru fiecare activitate.

  • test: rulează testele;
  • clean: șterge rezultatele buildului anterior; și
  • package: creează artefactul JAR sau WAR.

2-2. Rezolvarea dependențelor

Maven descarcă artefactele declarate în POM și urmărește dependențele tranzitive descrise de POM-urile acestora.

Prin urmare, adăugarea unei singure dependențe poate introduce mai multe JAR-uri necesare la compilare, testare sau rulare. Maven aplică regulile de scope și mediere pentru a stabili setul efectiv.

Articolul următor explică în detaliu mecanismul de rezolvare.

Cum rezolvă Maven dependențele tranzitive din repository-uri

2-3. Administrarea dependențelor JAR

POM-ul declară coordonatele și versiunea fiecărei dependențe, precum și scope-ul în care este necesară. Astfel, dependențele folosite numai la testare pot fi separate de cele necesare la rulare.

Deoarece configurația se află în pom.xml, ea poate fi păstrată în controlul versiunilor și folosită de întreaga echipă. Acest lucru face mediul de build mai ușor de reprodus decât copierea manuală a fișierelor JAR.

3. Rezumat

Maven combină un model de proiect bazat pe POM cu un ciclu de viață standard, pluginuri și rezolvarea dependențelor. Rezultatul este un proces de build repetabil, care poate fi executat în același mod pe stațiile dezvoltatorilor și în CI.