Tutorial Maven: Tot ce trebuie să știți pentru a începe



Acest blog pe tutorialul Maven acoperă tot ce trebuie să știți pentru a începe cu Maven pentru construirea proiectelor dvs.

În loc să scrieți scripturi lungi pentru construirea proiectelor dvs. și să descărcați manual dependențele, de ce să nu folosiți Maven și să scăpați de această mizerie. Acest blog pe tutorialul Maven va acoperi tot ce aveți nevoie pentru a începe să utilizați Maven pentru proiectul dvs. După înțelegerea temeinică a acestui tutorial Maven, următorul pas probabil va fi învățarea lui Jenkins care acoperă faza de integrare continuă a .

În acest blog de tutorial Maven, vom aborda următoarele subiecte:

  1. De ce avem nevoie de Maven?
  2. Ce este Maven?
  3. Maven Architecture
  4. Ciclul de viață, fazele și obiectivele Maven
  5. Proiect demo.

De ce avem nevoie de Maven?

Dacă lucrați la proiecte Java, de cele mai multe ori aveți nevoie de dependențe. Dependențele nu sunt altceva decât biblioteci sau fișiere JAR. Trebuie să le descărcați și să le adăugați manual. De asemenea, sarcina de a actualiza stiva software pentru proiectul dvs. a fost realizată manual înainte de Maven. Așadar, era nevoie de un instrument de construcție mai bun care să rezolve astfel de probleme.





Aici intră în imagine Maven. Maven vă poate rezolva toate problemele legate de dependențe. Trebuie doar să specificați dependențele și versiunea de software pe care o doriți în fișierul pom.xml din Maven și Maven se va ocupa de restul.Deci, acum să încercăm să înțelegem ce este exact Maven.

ce este o instanță a unei clase în java

Ce este Maven?

Proiectul Maven este dezvoltat de Apache Software Foundation, unde anterior a făcut parte din proiectul Jakarta. Maven este un instrument puternic de automatizare a construcțiilor care este utilizat în principal pentru proiecte bazate pe Java. Maven vă ajută să abordați două aspecte critice ale construcției de software -



  • Descrie modul în care este construit software-ul
  • Descrie dependențele.

Maven preferă convenția în locul configurației. Maven descarcă dinamic bibliotecile Java și plug-in-urile Maven de la unul sau mai multe depozite, cum ar fi Maven Central Repository și le stochează într-un cache local. Artefactele proiectelor locale pot fi, de asemenea, actualizate cu acest cache local. De asemenea, Maven vă poate ajuta să construiți și să gestionați proiecte scrise în C #, Ruby, Scala și alte limbi.

Fișierul Project Object Model (POM) este un fișier XML care conține informații referitoare la proiect și informații de configurare, cum ar fi dependențe, director sursă, plugin, obiective etc. utilizate de Maven pentru a construi proiectul. Când executați o comandă maven, dați maven un fișier POM pentru a executa comenzile. Maven citește fișierul pom.xml pentru a-și realiza configurația și operațiile.

Obiective Maven

Obiective Maven

Când ar trebui să folosească cineva Maven?

    1. Dacă există prea multe dependențe pentru proiect.
    2. Când versiunea de dependență se actualizează frecvent.
    3. Construcțiile continue, integrarea și testarea pot fi ușor gestionate prin utilizarea maven.
    4. Când aveți nevoie de o modalitate ușoară de a genera documentație din codul sursă, compilând codul sursă, împachetând codul compilat în fișiere JAR sau fișiere ZIP.

Maven Architecture

Ciclul de viață, fazele și obiectivele Maven

1. Ciclul de viață Maven



Există un ciclu de viață specific pe care Maven îl urmează pentru a implementa și distribui proiectul țintă.

Există trei cicluri de viață încorporate:

  • Mod implicit - Acesta este principalul ciclu de viață al Maven, deoarece este responsabil pentru implementarea proiectului.
  • curat - Acest ciclu de viață este utilizat pentru a curăța proiectul și a elimina toate fișierele generate de versiunea anterioară.
  • site - Scopul acestui ciclu de viață este de a crea documentația site-ului proiectului.

Fiecare ciclu de viață este alcătuit dintr-o succesiune de faze. Ciclul implicit de viață al construirii constă din 23 de faze, deoarece este principalul ciclu de viață al construcției din Maven

Pe de altă parte, ciclul de viață curat constă din 3 faze, în timp ce ciclul de viață al sitului este alcătuit din 4 faze.

2. Faze Maven

O fază Maven nu este altceva decât o etapă în ciclul de viață al construcției Maven. Fiecare fază execută o sarcină specifică.

Iată câteva faze importante în ciclul de viață implicit al construcției -

  • valida - Această fază verifică dacă sunt disponibile toate informațiile necesare pentru construire
  • compila - Această fază compilează codul sursă
  • test-compila - Această fază compilează codul sursă de testare
  • Test - Această fază rulează teste unitare
  • pachet - Această fază împachetează codul sursă în formatul distribuibil (jar, război)
  • test de integrare - Această fază procesează și implementează pachetul, dacă este necesar pentru a rula teste de integrare
  • instalare - Această fază instalează pachetul într-un depozit local
  • implementa - Această fază copiază pachetul în depozitul de la distanță

Maven execută faze într-o ordine specifică. Aceasta înseamnă că, dacă executăm o anumită fază folosind comanda, cum ar fi mvn, aceasta nu va executa doar faza specificată, ci și toate fazele precedente.

De exemplu, dacă executați comanda mvn deploy, adică faza de implementare care este ultima fază din ciclul de viață implicit al construirii, atunci aceasta va executa toate fazele anterioare fazei de implementare.

3. Obiective Maven

O succesiune de obiective constituie o fază și fiecare obiectiv execută o sarcină specifică. Când rulați o fază, Maven execută toate obiectivele într-o ordine asociată cu acea fază. Sintaxa utilizată este plugin: goal. Unele dintre faze și obiectivele implicite legate de acestea sunt următoarele:

  • compilator: compila - compila faza
  • compilator: test - faza de testare-compilare
  • surefire: test - faza de testare
  • instalare: instalare - instalare fază
  • borcan și război: război - faza pachetului

Un plugin Maven este un grup de obiective. Cu toate acestea, aceste obiective nu sunt neapărat legate de aceeași fază.De exemplu, pluginul Maven Failsafe, care este responsabil pentru rularea testelor de integrare. Pentru testarea unitară, aveți nevoie de pluginul Maven surefire.

avantaje și dezavantaje ale pythonului

Proiect Demo

În această secțiune a Maven tutorial, vom arunca o privire la un proiect demonstrativ. Pentru a demonstra cum să construiți un proiect folosind Maven, am creat un Proiect Java împreună cu TestNG folosind Eclipse IDE. Acesta este un program foarte simplu în care am scris cod pentru a testa titlul unui site web.

php creează matrice din șir

Programul va lansa automat un browser web, va naviga la site-ul web menționat în cod, va prelua titlul acelei pagini web și îl va compara cu titlul așteptat. Dacă titlul real și titlul așteptat se potrivesc, atunci cazul de testare trece altfel nu reușește.

Deci, pentru acest proiect aveți nevoie , Maven și Eclipse descărcate pe sistemul dvs. Versiunile pe care le folosesc în sistemul meu sunt următoarele -

  1. Eclipsă - Enterprise Edition versiunea 4.12.0 (2019-06)
  2. Java - versiunea 1.8.0_211
  3. Maven - versiunea 3.6.1
  • În afară de aceasta, trebuie să descărcați pluginul TestNG pentru Eclipse și îl puteți descărca urmând pașii următori -
    • Deschideți Eclipse și accesați Ajutor. În Ajutor, faceți clic pe piața Eclipse.
    • Tastați TestNG în caseta Căutare și faceți clic pe Go. În rezultate, veți vedea „TestNG pentru Eclipse”. Trebuie să-l descărcați.
  • După ce vă configurați sistemul cu lucrurile menționate mai sus, sunteți pregătiți să creați un proiect demonstrativ folosind Maven. Așa că acum vă voi spune toți pașii necesari pentru a face acest lucru.
    • În Eclipse, faceți clic pe Fișier -> Nou -> Proiect Maven.
    • Faceți clic pe Creați un proiect simplu (omiteți selecția arhetipului) și apoi faceți clic pe următorul.
  • Acum veți vedea o fereastră cu parametri precum ID grup, Id artefact și așa mai departe.
    • Id-ul grupului este ID-ul unic al unui grup care deține proiectul.
    • Artifact Id este numele unității finale de compilare.
    • Versiunea este versiunea artefactului creat. SNAPSHOT indică lucrările în curs.
    • Ambalajul poate fi borcan, război sau pom, în funcție de proiectul dvs. Pentru proiectul nostru, vom selecta jar. Apoi dați numele proiectului dvs.

  • Odată ce ați creat proiectul, veți vedea structura proiectului proiectului dvs. Maven. Aici puteți vedea următoarele lucruri -
    • pom.xml
    • src și țintă
    • src / main / java
    • src / test / java
    • Dependențe Maven
  • Acum creați un fișier de clasă în src / main / test și denumiți-l DemoClass. Această clasă conține codul de seleniu pe care îl folosim pentru testare. Acum am adăugat Selenium, dependențele TestNG și compilatorul Maven și pluginul Surefire în fișierul pom.xml. Codul pentru DemoClass și pom.xml este dat mai jos:
pachetul maven.selenium.testng import org.openqa.selenium.WebDriver import org.openqa.selenium.chrome.ChromeDriver import org.testng.annotations.Test public class DemoClass {@Test public void test () aruncă InterruptedException {// declarație și instanțierea obiectelor / variabilelor //System.setProperty('webdriver.gecko.driver','/home/edureka/Downloads/geckodriver ') // WebDriver driver = new FirefoxDriver () // comentează cele 2 linii de mai sus și decomentează mai jos 2 linii de utilizare Chrome System.setProperty ('webdriver.chrome.driver', 'C: UsersArvind PhulareDesktopchromedriver.exe') WebDriver driver = new ChromeDriver () String baseUrl = 'http://newtours.demoaut.com/' String expectedTitle = „Welcome: Mercury Tours” String actualTitle = ”// lansează Fire fox și direcționează-l către URL-ul de bază driver.get (baseUrl) // obține valoarea reală a titlului actualTitle = driver.getTitle () Thread.sleep (3000 ) / * * comparați titlul real al paginii cu cel așteptat și tipăriți * rezultatul ca „Trecut” sau „Eșuat” * / if (actualTitle.contentEquals (expectedTitle)) {System.out.println ('Testul a trecut!')} else {System.out.println ('Testul nu a reușit')} // închideți Fire fox driver.close ()}}
4.0.0 maven.selenium maven.selenium.testng 0.0.1-SNAPSHOT EdurekaDemo 2.53.1 6.9.10 org.apache.maven.plugins maven-compiler-plugin 1.8 1.8 org.apache.maven.plugins maven-surefire-plugin 2.18 .1 testng.xml org.seleniumhq.selenium selenium-java 3.141.59 org.testng testng 6.14.3 test
  • Înainte de a rula proiectul, trebuie să convertim fișierul de clasă DemoClass într-un fișier TestNG. Pentru aceasta, faceți clic dreapta pe DemoClass -> TestNG -> Convertiți în TestNG.

  • Acum pentru a rula proiectul, faceți clic dreapta pe un proiect -> Rulați ca -> Maven clean. Acest lucru va șterge proiectul eliminând toate versiunile anterioare.

  • După Maven clean, trebuie să testați proiectul, deoarece am scris codul pentru testarea aplicației web. Deci, faceți clic dreapta pe proiect -> Rulați ca -> Test Maven. Aceasta va deschide site-ul web și se va potrivi cu titlul site-ului web. Dacă se potrivește, atunci testul nostru va trece.

  • De asemenea, putem executa comenzile de mai sus folosind un prompt de comandă. Pentru aceasta, avem nevoie de calea fișierului pom.xml.

    • Puteți obține calea făcând clic dreapta pe fișierul pom.xml -> Proprietăți -> Locație.
    • Copiați calea, apoi deschideți un prompt de comandă și lipiți-o acolo folosind cd. cd C: / Users / Arvind Phulare / eclipse-workspace / maven.selenium.testng.
    • După ce faceți acest lucru, puteți tasta din nou comenzi Maven, cum ar fi mvn clean și mvn test.

Deci, asta este din partea mea în acest blog pe tutorialul Maven. Sper că ați înțeles lucrurile pe care le-am discutat în acest tutorial Maven.

Acum că ați înțeles acest tutorial Maven, verificați acest lucru de Edureka, o companie de învățare online de încredere, cu o rețea de peste 250.000 de elevi mulțumiți răspândiți pe tot globul. Cursul Edureka DevOps Certification Training îi ajută pe cursanți să înțeleagă ce este DevOps și să câștige expertiză în diferite procese și instrumente DevOps precum Puppet, Jenkins, Nagios, Ansible, Chef, Saltstack și GIT pentru automatizarea mai multor pași în SDLC.

Ai o întrebare pentru noi? Vă rugăm să îl menționați în secțiunea de comentarii a acestui tutorial Maven și vă vom răspunde