Vodič za Maven: Sve što trebate znati da biste započeli



Ovaj blog na Maven tutorialu pokriva sve što trebate znati da biste započeli s Mavenom za izgradnju vaših projekata.

Umjesto da pišete dugačke skripte za izgradnju svojih projekata i ručno preuzimate ovisnosti, zašto ne biste koristili Maven i riješili se ovog nereda. Ovaj blog na Maven tutorialu pokriti će sve što vam je potrebno za početak korištenja Mavena za vaš projekt. Nakon temeljitog razumijevanja ovog vodiča za Maven, sljedeći vjerojatni korak bit će učenje Jenkinsa koji pokriva fazu kontinuirane integracije .

U ovom blogu na Maven tutorialu pokrivat ćemo sljedeće teme:

  1. Zašto nam treba Maven?
  2. Što je Maven?
  3. Maven Arhitektura
  4. Maven životni ciklus, faze i ciljevi
  5. Demo projekt.

Zašto nam treba Maven?

Ako radite na Java projektima, tada vam većinu vremena trebaju ovisnosti. Ovisnosti nisu ništa drugo doli knjižnice ili JAR datoteke. Morate ih preuzeti i dodati ručno. Također, zadatak nadogradnje softverskog snopa za vaš projekt obavljen je ručno prije Mavena. Dakle, postojala je potreba za boljim alatom za izradu koji će rješavati takve probleme.





Tu Maven dolazi na scenu. Maven može riješiti sve vaše probleme povezane s ovisnostima. Samo trebate odrediti ovisnosti i verziju softvera koju želite u datoteci pom.xml u Mavenu, a Maven će se pobrinuti za ostalo.Pokušajmo sada shvatiti što je točno Maven.

binarni na decimalni java kod

Što je Maven?

Projekt Maven razvila je Apache Software Foundation, gdje je ranije bio dio projekta Jakarta. Maven je moćan alat za automatizaciju gradnje koji se prvenstveno koristi za projekte zasnovane na Javi. Maven vam pomaže u rješavanju dva kritična aspekta izrade softvera -



  • Opisuje kako se izrađuje softver
  • Opisuje ovisnosti.

Maven više voli konvenciju nego konfiguraciju. Maven dinamički preuzima Java knjižnice i Maven dodatke iz jednog ili više spremišta kao što je Maven Central Repository i pohranjuje ih u lokalnu predmemoriju. Artefakti lokalnih projekata također se mogu ažurirati pomoću ove lokalne predmemorije. Maven vam također može pomoći u izradi i upravljanju projektima napisanim na C #, Ruby, Scala i drugim jezicima.

Datoteka Project Object Model (POM) je XML datoteka koja sadrži informacije povezane s projektom i informacije o konfiguraciji kao što su ovisnosti, izvorni direktorij, dodatak, ciljevi itd. Koje Maven koristi za izgradnju projekta. Kada izvršavate maven naredbu, dajete mavenu POM datoteku za izvršavanje naredbi. Maven čita datoteku pom.xml kako bi izvršio njezinu konfiguraciju i operacije.

Maven ciljevi

Maven ciljevi

Kada bi netko trebao koristiti Maven?

    1. Ako postoji previše ovisnosti za projekt.
    2. Kada se verzija ovisnosti često ažurira.
    3. Kontinuirane izrade, integracija i testiranje mogu se lako rukovati pomoću mavena.
    4. Kada treba jednostavan način za generiranje dokumentacije iz izvornog koda, kompajliranje izvornog koda, pakiranje prevedenog koda u JAR datoteke ili ZIP datoteke.

Maven Arhitektura

Maven životni ciklus, faze i ciljevi

1. Maven životni ciklus



Postoji određeni životni ciklus koji Maven slijedi za postavljanje i distribuciju ciljanog projekta.

Ugrađena su tri životna ciklusa:

  • zadano - Ovo je glavni životni ciklus Mavena jer je odgovoran za implementaciju projekata.
  • čist - Ovaj životni ciklus koristi se za čišćenje projekta i uklanjanje svih datoteka generiranih prethodnom gradnjom.
  • web mjestu - Cilj ovog životnog ciklusa je stvaranje dokumentacije mjesta projekta.

Svaki životni ciklus sastoji se od niza faza. Zadani životni ciklus gradnje sastoji se od 23 faze jer je to glavni životni ciklus gradnje Mavena

S druge strane, čisti životni ciklus sastoji se od 3 faze, dok se životni ciklus lokacije sastoji od 4 faze.

2. Mavenove faze

Mavenova faza nije ništa drugo do faza životnog ciklusa Mavenove gradnje. Svaka faza izvršava određeni zadatak.

Evo nekoliko važnih faza u zadanom životnom ciklusu gradnje -

  • potvrditi - Ova faza provjerava jesu li dostupne sve informacije potrebne za izradu
  • sastaviti - Ova faza kompajlira izvorni kod
  • test-sastaviti - Ova faza kompilira testni izvorni kod
  • test - Ova faza pokreće jedinična ispitivanja
  • paket - Ova faza paketa kompajlirala je izvorni kod u format koji se može distribuirati (jar, rat)
  • integracija-test - Ova faza obrađuje i raspoređuje paket ako je potrebno za pokretanje integracijskih testova
  • instalirati - Ova faza instalira paket u lokalno spremište
  • rasporediti - Ova faza kopira paket u udaljeno spremište

Maven izvršava faze određenim redoslijedom. To znači da ako pokrenemo određenu fazu pomoću naredbe kao što je mvn, to neće izvršiti samo navedenu fazu već i sve prethodne faze.

Na primjer, ako pokrenete naredbu mvn deploy, odnosno fazu implementacije koja je zadnja faza u zadanom životnom ciklusu gradnje, tada će se izvršiti i sve faze prije faze implementacije.

3. Maven ciljevi

Slijed ciljeva čini fazu i svaki cilj izvršava određeni zadatak. Kada pokrenete fazu, tada Maven izvršava sve ciljeve redoslijedom koji je povezan s tom fazom. Sintaksa koja se koristi je dodatak: cilj. Neke od faza i zadani ciljevi povezani s njima su kako slijedi:

  • compiler: compile - faza kompajliranja
  • kompajler: test - faza test-sastavljanja
  • sigurno: test - faza ispitivanja
  • install: install - faza instalacije
  • jar i rat: rat - faza paketa

Dodatak Maven skupina je ciljeva. Međutim, ti ciljevi nisu nužno svi povezani u istu fazu.Na primjer, dodatak Maven Failsafe koji je odgovoran za pokretanje integracijskih testova. Za jedinstveno testiranje potreban vam je Maven surefire dodatak.

kako stvoriti parametar u tablici

Demo projekt

U ovom odjeljku Maven tutorial, pogledati ćemo demo projekt. Da bih pokazao kako graditi projekt pomoću Mavena, stvorio sam Java projekt zajedno s TestNG-om koristeći Eclipse IDE. Ovo je vrlo jednostavan program u kojem sam napisao kôd za testiranje naslova web stranice.

preopterećenje funkcije u c ++

Program će automatski pokrenuti web preglednik, prijeći na web mjesto spomenuto u kodu, dohvatiti naslov te web stranice i usporediti ga s očekivanim naslovom. Ako se stvarni naslov i očekivani naslov podudaraju, test slučaj prolazi u suprotnom slučaju ne uspijeva.

Dakle, za ovaj projekt trebate , Maven i Eclipse preuzeti na vašem sustavu. Verzije koje koristim na svom sustavu su sljedeće -

  1. Zasjeniti - Enterprise Edition verzija 4.12.0 (2019-06)
  2. Java - verzija 1.8.0_211
  3. Maven - inačica 3.6.1
  • Osim toga, morate preuzeti dodatak TestNG za Eclipse i možete ga preuzeti slijedeći korake -
    • Otvorite Eclipse i idite na pomoć. U pomoći kliknite na tržište Eclipse.
    • U okvir Test pronađite TestNG i kliknite na Go. U rezultatima ćete vidjeti “TestNG for Eclipse”. Morate ga preuzeti.
  • Nakon što svoj sustav postavite s gore spomenutim stvarima, svi ste spremni stvoriti demo projekt pomoću Mavena. Dakle, sad ću vam reći sve korake potrebne za to.
    • U Eclipseu kliknite Datoteka -> Novo -> Maven projekt.
    • Kliknite Stvori jednostavan projekt (preskočite odabir arhetipa), a zatim kliknite sljedeći.
  • Sada ćete vidjeti prozor s parametrima kao što su Id grupe, Artefakt Id i tako dalje.
    • Id grupe je jedinstveni ID grupe koja je vlasnik projekta.
    • Artefact Id naziv je konačne jedinice kompilacije.
    • Verzija je verzija stvorenog artefakta. SNAPSHOT označava rad u tijeku.
    • Pakiranje može biti jar, rat ili pom, ovisno o vašem projektu. Za naš ćemo projekt odabrati jar. Zatim navedite naziv svog projekta.

  • Jednom kada kreirate projekt, vidjet ćete strukturu projekta vašeg Maven projekta. Ovdje možete vidjeti sljedeće stvari -
    • pom.xml
    • src i cilj
    • src / main / java
    • src / test / java
    • Mavenove ovisnosti
  • Sada stvorite datoteku klase u src / main / test i nazovite je DemoClass. Ova klasa sadrži selenijski kod koji koristimo za testiranje. Sada smo u datoteku pom.xml dodali selenium, ovisnosti TestNG-a i Maven-ov kompajler i dodatak Surefire. Kôd za DemoClass i pom.xml dan je u nastavku:
paket 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 () baca InterruptedException {// deklaracija i instancija objekata / varijabli //System.setProperty('webdriver.gecko.driver','/home/edureka/Downloads/geckodriver ') // WebDriver driver = new FirefoxDriver () // komentiraj gornja 2 retka i komentiraj ispod 2 redovi za upotrebu Chrome System.setProperty ('webdriver.chrome.driver', 'C: UsersArvind PhulareDesktopchromedriver.exe') WebDriver driver = novi ChromeDriver () String baseUrl = 'http://newtours.demoaut.com/' String očekujeTitle = 'Dobrodošli: Mercury Tours' String actualTitle = '' // pokrenite Fire fox i usmjerite ga na osnovni URL driver.get (baseUrl) // dobijte stvarnu vrijednost naslova actualTitle = driver.getTitle () Thread.sleep (3000 ) / * * usporedite stvarni naslov stranice s očekivanim i ispišite * rezultat kao 'Prošlo' ili 'Nije uspjelo' * / if (actualTitle.contentEquals (očekuje se naslov)) {System.out.println ('Test Passed!')} else {System.out.println ('Test nije uspio')} // zatvori 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
  • Prije pokretanja projekta moramo pretvoriti datoteku klase DemoClass u datoteku TestNG. Za to kliknite desnom tipkom miša na DemoClass -> TestNG -> Pretvori u TestNG.

  • Sada da biste pokrenuli projekt, desnom tipkom miša kliknite projekt -> Pokreni kao -> Maven clean. Ovo će očistiti projekt uklanjanjem svih prethodnih gradnji.

  • Nakon što Maven očistite, trebate testirati projekt jer smo napisali kôd za testiranje web aplikacije. Dakle, desnom tipkom miša kliknite projekt -> Pokreni kao -> Maven test. Ovo će otvoriti web stranicu i podudarati se s naslovom web stranice. Ako se podudara, tada će proći naš testni slučaj.

  • Također možemo izvršiti gore navedene naredbe pomoću naredbenog retka. Za to nam treba put datoteke pom.xml.

    • Put možete dobiti desnim klikom na datoteku pom.xml -> Svojstva -> Lokacija.
    • Kopirajte put, a zatim otvorite naredbeni redak i tamo ga zalijepite pomoću cd-a. cd C: / Users / Arvind Phulare / eclipse-workspace / maven.selenium.testng.
    • Jednom kada to učinite, možete ponovo upisati Mavenove naredbe kao što su mvn clean i mvn test.

Dakle, to je to s moje strane u ovom blogu na Maven tutorialu. Nadam se da ste razumjeli stvari o kojima smo razgovarali u ovom vodiču za Maven.

Sad kad ste shvatili ovaj tutorial za Maven, pogledajte ovo Edureka, pouzdane tvrtke za internetsko učenje s mrežom od više od 250 000 zadovoljnih učenika raširenih širom svijeta. Edureka DevOps certifikacijski tečaj pomaže učenicima da shvate što je DevOps i steknu stručnost u raznim DevOps procesima i alatima kao što su Puppet, Jenkins, Nagios, Ansible, Chef, Saltstack i GIT za automatizaciju više koraka u SDLC-u.

Imate pitanje za nas? Molimo vas spomenite to u odjeljku za komentare ovog vodiča za Maven, a mi ćemo vam se javiti