Vadnica za Maven: Vse, kar morate vedeti za začetek



Ta blog o vadnici Maven zajema vse, kar morate vedeti, da začnete uporabljati Maven za gradnjo svojih projektov.

Namesto da pišete dolge skripte za gradnjo svojih projektov in ročno prenašate odvisnosti, zakaj ne bi uporabili Maven in se znebili te zmede. Ta blog o vadnici Maven bo zajemal vse, kar potrebujete za začetek uporabe Mavena za svoj projekt. Po temeljitem razumevanju te vadnice za Maven bo naslednji verjeten korak učenje Jenkinsa, ki zajema fazo neprekinjene integracije .

V tem blogu o vadnici Maven bomo obravnavali naslednje teme:

kako pretvoriti niz v datum
  1. Zakaj potrebujemo Mavena?
  2. Kaj je Maven?
  3. Maven Arhitektura
  4. Mavenov življenjski cikel, faze in cilji
  5. Predstavitveni projekt.

Zakaj potrebujemo Mavena?

Če delate na projektih Java, potem večino časa potrebujete odvisnosti. Odvisnosti niso nič drugega kot knjižnice ali datoteke JAR. Morate jih prenesti in dodati ročno. Prav tako je bila naloga nadgradnje programskega sklada za vaš projekt ročno opravljena pred Mavenom. Zato je bilo potrebno boljše orodje za izdelavo, ki bi rešilo takšna vprašanja.





Tu nastopi Maven. Maven lahko reši vse vaše težave, povezane z odvisnostmi. Določiti morate le odvisnosti in različico programske opreme, ki jo želite v datoteki pom.xml v Mavenu, Maven pa bo poskrbel za ostalo.Zdaj pa poskusimo razumeti, kaj točno je Maven.

Kaj je Maven?

Projekt Maven je razvila fundacija Apache Software Foundation, kjer je bil prej del projekta v Džakarti. Maven je močno orodje za avtomatizacijo gradnje, ki se uporablja predvsem za projekte, ki temeljijo na Javi. Maven vam pomaga pri reševanju dveh ključnih vidikov gradnje programske opreme -



  • Opisuje, kako je zgrajena programska oprema
  • Opisuje odvisnosti.

Maven ima raje konvencijo kot konfiguracijo. Maven dinamično prenaša knjižnice Java in vtičnike Maven iz enega ali več skladišč, kot je Maven Central Repository, in jih shrani v lokalni predpomnilnik. Artefakte lokalnih projektov je mogoče posodobiti tudi s tem lokalnim predpomnilnikom. Maven vam lahko pomaga tudi pri gradnji in upravljanju projektov, napisanih v jeziku C #, Ruby, Scala in drugih jezikih.

Datoteka Project Object Model (POM) je datoteka XML, ki vsebuje informacije, povezane s projektom in informacije o konfiguraciji, kot so odvisnosti, izvorni imenik, vtičnik, cilji itd., Ki jih Maven uporablja za izdelavo projekta. Ko zaženete ukaz maven, mu daste datoteko POM za izvajanje ukazov. Maven prebere datoteko pom.xml, da dokonča njeno konfiguracijo in operacije.

Maven cilji

Maven cilji

Kdaj naj nekdo uporablja Maven?

    1. Če je za projekt preveč odvisnosti.
    2. Ko se različica odvisnosti pogosto posodablja.
    3. Neprekinjene gradnje, integracijo in testiranje je mogoče enostavno obvladati z uporabo maven.
    4. Ko potrebujete enostaven način za ustvarjanje dokumentacije iz izvorne kode, sestavljanje izvorne kode, pakiranje prevedene kode v datoteke JAR ali ZIP.

Maven Arhitektura

Mavenov življenjski cikel, faze in cilji

1. Mavenov življenjski cikel



Maven sledi posebnemu življenjskemu ciklusu za uvajanje in distribucijo ciljnega projekta.

Vgrajeni so trije življenjski cikli:

  • privzeto - To je glavni življenjski cikel Mavena, saj je odgovoren za uvajanje projektov.
  • čisto - Ta življenjski cikel se uporablja za čiščenje projekta in odstranjevanje vseh datotek, ustvarjenih v prejšnji gradnji.
  • spletnem mestu - Cilj tega življenjskega cikla je ustvariti dokumentacijo lokacije projekta.

Vsak življenjski cikel je sestavljen iz zaporedja faz. Privzeti življenjski cikel gradnje je sestavljen iz 23 faz, saj je glavni življenjski cikel gradnje Mavena

Po drugi strani je čisti življenjski cikel sestavljen iz 3 faz, medtem ko je življenjski cikel lokacije sestavljen iz 4 faz.

2. Mavenove faze

Mavenova faza ni nič drugega kot stopnja v življenjskem ciklu Mavenove gradnje. Vsaka faza izvede določeno nalogo.

Tu je nekaj pomembnih faz v privzetem življenjskem ciklu gradnje -

  • potrdi - Ta faza preverja, ali so na voljo vse informacije, potrebne za izdelavo
  • sestavi - Ta faza prevaja izvorno kodo
  • test-prevajanje - Ta faza prevaja testno izvorno kodo
  • preskus - V tej fazi potekajo enotni testi
  • paket - Paketi te faze so prevedli izvorno kodo v distribucijsko obliko (jar, vojna)
  • integracijski test - Ta faza po potrebi obdela in razvrsti paket za izvajanje integracijskih testov
  • namestite - Ta faza namesti paket v lokalno repozitorij
  • razporediti - Ta faza kopira paket v oddaljeno repozitorij

Maven izvaja faze v določenem vrstnem redu. To pomeni, da če zaženemo določeno fazo z ukazom, kot je mvn, to ne bo izvedlo samo določene faze, temveč tudi vse prejšnje faze.

Če na primer zaženete ukaz mvn deploy, to je faza razmestitve, ki je zadnja faza v privzetem življenjskem ciklu gradnje, bo to izvedlo tudi vse faze pred fazo razmestitve.

3. Cilji Maven

Zaporedje ciljev predstavlja fazo in vsak cilj izvrši določeno nalogo. Ko zaženete fazo, Maven izvrši vse cilje v vrstnem redu, ki je povezan s to fazo. Sintaksa je plugin: goal. Nekatere faze in z njimi vezani privzeti cilji so:

  • prevajalnik: prevajanje - faza prevajanja
  • prevajalnik: test - faza preskusa-prevajanja
  • surefire: test - testna faza
  • namestite: namestite - namestite fazo
  • jar in vojna: vojna - faza paketa

Vtičnik Maven je skupina ciljev. Vendar ti cilji niso nujno vsi povezani v isto fazo.Na primer vtičnik Maven Failsafe, ki je odgovoren za izvajanje preskusov integracije. Za enotno testiranje potrebujete Maven surefire plugin.

Predstavitveni projekt

V tem oddelku Maven Vadnica si bomo ogledali predstavitveni projekt. Za predstavitev, kako zgraditi projekt z Mavenom, sem ustvaril Java projekt skupaj s TestNG z uporabo Eclipse IDE. To je zelo preprost program, v katerem sem napisal kodo za preizkus naslova spletnega mesta.

Program bo samodejno zagnal spletni brskalnik, se pomaknil do spletnega mesta, omenjenega v kodi, prinesel naslov te spletne strani in ga primerjal s pričakovanim naslovom. Če se dejanski naslov in pričakovani naslov ujemata, testni primer drugače ne uspe.

Torej za ta projekt potrebujete , Maven in Eclipse prenesena v vaš sistem. Različice, ki jih uporabljam v svojem sistemu, so naslednje -

  1. Mrk - različica Enterprise Edition 4.12.0 (2019-06)
  2. Java - različica 1.8.0_211
  3. Maven - različica 3.6.1
  • Poleg tega morate prenesti vtičnik TestNG za Eclipse, ki ga lahko prenesete po naslednjih korakih -
    • Odprite Eclipse in pojdite na Pomoč. V Pomoč kliknite na tržnico Eclipse.
    • V polje za iskanje vnesite TestNG in kliknite Pojdi. V rezultatih boste videli “TestNG for Eclipse”. Morate ga prenesti.
  • Ko nastavite sistem z zgoraj omenjenimi stvarmi, ste pripravljeni ustvariti predstavitveni projekt z Mavenom. Zdaj vam bom povedal vse korake, potrebne za to.
    • V Eclipse kliknite Datoteka -> Novo -> Maven Project.
    • Kliknite Ustvari preprost projekt (preskoči izbor arhetipa) in nato kliknite Naprej.
  • Zdaj boste videli okno s parametri, kot so Id skupine, ID artefakta itd.
    • Id skupine je edinstveni ID skupine, ki je lastnica projekta.
    • Artefact Id je ime končne enote za sestavljanje.
    • Različica je različica ustvarjenega artefakta. SNAPSHOT označuje nedokončano delo.
    • Embalaža je lahko jar, vojna ali pom, odvisno od vašega projekta. Za naš projekt bomo izbrali kozarec. Nato navedite ime svojega projekta.

  • Ko ustvarite projekt, boste videli strukturo vašega projekta Maven. Tu lahko vidite naslednje stvari -
    • pom.xml
    • src in tarča
    • src / main / java
    • src / test / java
    • Maven odvisnosti
  • Zdaj ustvarite datoteko razreda v src / main / test in jo poimenujte DemoClass. Ta razred vsebuje kodo Selenium, ki jo uporabljamo za testiranje. Zdaj smo v datoteko pom.xml dodali selenium, odvisnosti TestNG ter prevajalnik Maven in vtičnik Surefire. Koda za DemoClass in pom.xml je podana spodaj:
paket maven.selenium.testng import org.openqa.selenium.WebDriver import org.openqa.selenium.chrome.ChromeDriver import org.testng.annotations.Test javni razred DemoClass {@Test public void test () vrže InterruptedException {// deklaracija in instanciranje predmetov / spremenljivk //System.setProperty('webdriver.gecko.driver','/home/edureka/Downloads/geckodriver ') // gonilnik WebDriver = new FirefoxDriver () // komentiraj zgornji 2 vrstici in pripomni pod 2 vrstice za uporabo sistema Chrome System.setProperty ('webdriver.chrome.driver', 'C: UsersArvind PhulareDesktopchromedriver.exe') Gonilnik WebDriver = nov ChromeDriver () String baseUrl = 'http://newtours.demoaut.com/' String očekujeTitle = 'Dobrodošli: Mercury Tours' String actualTitle = '' // zaženite Fire fox in ga usmerite na osnovni URL driver.get (baseUrl) // dobite dejansko vrednost naslova actualTitle = driver.getTitle () Thread.sleep (3000 ) / * * primerjajte dejanski naslov strani s pričakovanim in natisnite * rezultat kot 'Passed' ali 'Failed' * / če (actualTitle.contentEquals (pričakovan naslov)) {System.out.println ('Test je bil uspešno opravljen!'}} else {System.out.println ('Test ni uspel')} // zaprite 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
  • Pred zagonom projekta moramo pretvoriti datoteko razreda DemoClass v datoteko TestNG. Za to z desno miškino tipko kliknite DemoClass -> TestNG -> Pretvori v TestNG.

  • Zdaj, da zaženete projekt, z desno miškino tipko kliknite projekt -> Zaženi kot -> Maven clean. S tem boste očistili projekt, tako da boste odstranili vse prejšnje gradnje.

  • Po čiščenju Maven morate preizkusiti projekt, saj smo napisali kodo za testiranje spletne aplikacije. Torej z desno miškino tipko kliknite projekt -> Zaženi kot -> Maven test. To bo odprlo spletno stran in se ujemalo z naslovom. Če se ujema, bo naš testni primer uspel.

  • Zgornje ukaze lahko izvajamo tudi z ukaznim pozivom. Za to potrebujemo pot datoteke pom.xml.

    • Pot lahko dobite z desnim klikom na datoteko pom.xml -> Lastnosti -> Lokacija.
    • Kopirajte pot, nato odprite ukazni poziv in ga prilepite tja s CD-jem. cd C: / Users / Arvind Phulare / eclipse-workspace / maven.selenium.testng.
    • Ko to storite, lahko znova vnesete ukaze Maven, kot sta mvn clean in mvn test.

Torej, to je z moje strani v tem blogu o vadnici Maven. Upam, da ste razumeli stvari, o katerih smo razpravljali v tej vadnici za Maven.

Zdaj, ko ste razumeli to vadnico za Maven, si oglejte to Edureka, zaupanja vredno podjetje za spletno učenje z mrežo več kot 250.000 zadovoljnih učencev, razširjenih po vsem svetu. Tečaj Edureka DevOps Certification Training pomaga učencem razumeti, kaj je DevOps, in pridobiti strokovno znanje v različnih procesih in orodjih DevOps, kot so Lutka, Jenkins, Nagios, Ansible, Chef, Saltstack in GIT za avtomatizacijo več korakov v SDLC.

Imate vprašanje za nas? Prosimo, omenite ga v oddelku za komentarje te vadnice za Maven, mi pa se vam bomo oglasili