Maveni õpetus: kõik, mida peate alustamiseks teadma

See Maveni õpetuse ajaveeb hõlmab kõike, mida peate teadma, et Maveniga oma projekte luua.

Selle asemel, et oma projektide ehitamiseks ja sõltuvuste käsitsi allalaadimiseks pikki skripte kirjutada, võiksite Mavenit kasutada ja sellest segadusest lahti saada. See Maveni õpetuse ajaveeb kajastab kõike, mida vajate Maveni projekti alustamiseks. Pärast selle Maveni õpetuse põhjalikku mõistmist on järgmine tõenäoline samm õppida Jenkinsit, mis hõlmab .

Selles Maveni õpetuse blogis käsitleme järgmisi teemasid:



  1. Miks me vajame Mavenit?
  2. Mis on Maven?
  3. Maven Arhitektuur
  4. Maven elutsükkel, faasid ja eesmärgid
  5. Demoprojekt.

Miks me vajame Mavenit?

Kui töötate Java projektidega, vajate enamasti sõltuvusi. Sõltuvused pole muud kui teegid või JAR-failid. Peate need käsitsi alla laadima ja lisama. Samuti tehti oma projekti tarkvarapaketi täiendamise ülesanne enne Mavenit käsitsi. Niisiis oli vaja paremat ehitustööriista, mis selliseid probleeme lahendaks.



Siit tuleb Maven pildile. Maven suudab lahendada kõik teie sõltuvustega seotud probleemid. Peate lihtsalt määrama sõltuvused ja tarkvaraversiooni, mille soovite failis pom.xml Mavenis ja Maven hoolitseb ülejäänud osa eest.Proovime nüüd mõista, mis täpselt Maven on.

Mis on Maven?

Maveni projekti on välja töötanud Apache Software Foundation, kus see oli varem osa Jakarta projektist. Maven on võimas ehituse automatiseerimise tööriist, mida kasutatakse peamiselt Java-põhiste projektide jaoks. Maven aitab teil lahendada tarkvara ehitamise kahte kriitilist aspekti -



  • Selles kirjeldatakse tarkvara ülesehitust
  • See kirjeldab sõltuvusi.

Maven eelistab konfiguratsiooni asemel konventsiooni. Maven laadib Java-teegid ja Maveni pistikprogrammid dünaamiliselt alla ühest või mitmest hoidlast, näiteks Maveni keskhoidlast, ja salvestab need kohalikku vahemällu. Selle kohaliku vahemälu abil saab värskendada ka kohalike projektide esemeid. Maven aitab teil ka C #, Ruby, Scala ja muudes keeltes kirjutatud projekte koostada ja hallata.

Projekti objektimudeli (POM) fail on XML-fail, mis sisaldab projektiga seotud teavet ja konfiguratsiooniteavet, näiteks sõltuvused, lähtekataloog, pistikprogramm, eesmärgid jne, mida Maven projekti koostamisel kasutab. Kui täidate käsku Maven, annate Mavenile käskude täitmiseks POM-faili. Maven loeb konfigureerimise ja toimingute tegemiseks faili pom.xml.

Maven Eesmärgid

Maven Eesmärgid

Millal peaks keegi Mavenit kasutama?

    1. Kui projekti jaoks on liiga palju sõltuvusi.
    2. Kui sõltuvuse versiooni värskendatakse sageli.
    3. Pideva ehitamise, integreerimise ja testimise saab hõlpsasti käsitseda maven'i abil.
    4. Kui on vaja lihtsat viisi dokumentide genereerimiseks lähtekoodist, siis lähtekoodi kompileerimine, kompileeritud koodi pakkimine JAR- või ZIP-failidesse.

Maven Arhitektuur

Maven elutsükkel, faasid ja eesmärgid

1. Maven elutsükkel



Maven järgib sihtprojekti juurutamiseks ja levitamiseks konkreetset elutsüklit.

Sisseehitatud olelusringi on kolm:

mis on javas žetoon
  • vaikimisi - See on Maveni peamine elutsükkel, kuna see vastutab projekti juurutamise eest.
  • puhas - Seda olelusringi kasutatakse projekti puhastamiseks ja kõigi eelmises järgus loodud failide eemaldamiseks.
  • sait - Selle olelusringi eesmärk on luua projekti saididokumentatsioon.

Iga elutsükkel koosneb faaside järjestusest. Vaikimisi koostamise olelustsükkel koosneb 23 faasist, kuna see on Maveni peamine koostamise elutsükkel

Teiselt poolt koosneb puhas olelustsükkel kolmest etapist, samas kui saidi elutsükkel koosneb neljast faasist.

2. Maven'i faasid

Maveni faas pole midagi muud kui Maveni ehituse elutsükli etapp. Igas faasis täidetakse konkreetne ülesanne.

Siin on mõned olulised etapid vaikimisi koostatud elutsüklis -

  • valideerima - Selles etapis kontrollitakse, kas kogu ehitamiseks vajalik teave on olemas
  • koostama - See etapp koostab lähtekoodi
  • test-kompileerima - Selles etapis koostatakse testi lähtekood
  • test - Selles etapis viiakse läbi ühikutestid
  • pakend - See etapp pakendab kompileeritud lähtekoodi levitatavasse vormingusse (purk, sõda)
  • integratsioon-test - See etapp töötleb ja juurutab paketti, kui see on vajalik integreerimistestide käivitamiseks
  • installima - See etapp installib paketi kohalikku hoidlasse
  • juurutada - See etapp kopeerib paketi kaughoidlasse

Maven viib faasid läbi kindlas järjekorras. See tähendab, et kui käivitame konkreetse faasi käsuga nagu mvn, ei täida see ainult määratud faasi, vaid ka kõiki eelnevaid faase.

Näiteks kui käivitate käsu mvn juurutamine, see tähendab juurutamise etapp, mis on ehitamise vaikes olelusringi viimane etapp, siis täidab see ka kõik faasid enne juurutamisetappi.

3. Maven Goals

Eesmärkide jada moodustab etapi ja iga eesmärk täidab kindlat ülesannet. Kui käivitate etapi, täidab Maven kõik eesmärgid järjekorras, mis on selle faasiga seotud. Kasutatav süntaks on plugin: eesmärk. Mõned etapid ja nendega seotud vaikieesmärgid on järgmised:

  • kompilaator: kompileeri - kompileeri faas
  • koostaja: test - test-kompileerimise etapp
  • kindel: test - testi etapp
  • install: install - installi etapp
  • purk ja sõda: sõda - pakendi faas

Maveni pistikprogramm on eesmärkide rühm. Kuid need eesmärgid pole tingimata seotud ühe faasiga.Näiteks Maven Failsafe pistikprogramm, mis vastutab integreerimistestide käivitamise eest. Üksuse testimiseks vajate Maven surefire'i pistikprogrammi.

Demoprojekt

Selles jaotises Maven juhendaja, vaatame demoprojekti. Et demonstreerida, kuidas Maveni abil projekti ehitada, olen loonud a Java projekt koos TestNG-ga, kasutades Eclipse IDE-d. See on väga lihtne programm, kuhu olen kirjutanud koodi veebisaidi pealkirja testimiseks.

Programm käivitab automaatselt veebibrauseri, navigeerib koodis mainitud veebisaidile, tõmbab selle veebilehe pealkirja ja võrdleb seda eeldatava pealkirjaga. Kui tegelik tiitel ja eeldatav tiitel ühtivad, siis katsejuhtum läheb teisiti läbi.

Nii et selle projekti jaoks on vaja , Maven ja Eclipse on teie süsteemis alla laaditud. Oma süsteemis kasutatavad versioonid on järgmised -

  1. Varjutus - Enterprise Editioni versioon 4.12.0 (2019-06)
  2. Java - versioon 1.8.0_211
  3. Maven - versioon 3.6.1
  • Peale selle peate Eclipse'i jaoks alla laadima TestNG pistikprogrammi ja saate selle alla laadida järgmiste sammude abil -
    • Avage Eclipse ja minge Abi. Klõpsake jaotises Abi Eclipse'i turuplatsil.
    • Tippige lahtrisse Leia testNG ja klõpsake nuppu Mine. Tulemustes näete „TestNG for Eclipse”. Peate selle alla laadima.
  • Kui olete oma süsteemi ülalnimetatud asjadega seadistanud, olete kõik valmis Maveni abil demoprojekti looma. Nii et nüüd ma ütlen teile kõik sammud, mida selleks vaja on.
    • Klõpsake Eclipse'is käsku Fail -> Uus -> Maven Project.
    • Klõpsake käsul Loo lihtne projekt (jätke arhetüübi valik vahele) ja seejärel klõpsake järgmisel.
  • Nüüd näete akent parameetritega nagu Grupi ID, Artefakti ID ja nii edasi.
    • Grupi ID on projekti omaniku rühma ainulaadne ID.
    • Artefakti ID on lõpliku kompileerimisüksuse nimi.
    • Versioon on loodud artefakti versioon. SNAPSHOT näitab pooleliolevat tööd.
    • Pakend võib sõltuvalt teie projektist olla purk, sõda või pom. Meie projekti jaoks valime purki. Seejärel pange oma projekti nimi.

  • Kui olete projekti loonud, näete oma Maveni projekti ülesehitust. Siin näete järgmisi asju -
    • pom.xml
    • src ja sihtmärk
    • src / main / java
    • src / test / java
    • Mavenisõltuvused
  • Nüüd looge klassifail kataloogis src / main / test ja andke sellele nimi DemoClass. See klass sisaldab seleeni koodi, mida kasutame testimiseks. Nüüd oleme pom.xml faili lisanud seleeni, TestNG sõltuvused ja Maveni kompilaatori ning Surefire plugina. DemoClassi ja pom.xml kood on toodud allpool:
pakett 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 () viskab InterruptedException {// deklaratsiooni ja objektide / muutujate kiiritamine //System.setProperty('webdriver.gecko.driver','/home/edureka/Downloads/geckodriver ') // WebDriveri draiver = uus FirefoxDriver () // kommenteerige ülaltoodud kahte rida ja kommenteerige allpool 2 read, mis kasutavad Chrome System.setProperty ('webdriver.chrome.driver', 'C: UsersArvind PhulareDesktopchromedriver.exe') WebDriveri draiver = uus ChromeDriver () String baseUrl = 'http://newtours.demoaut.com/' String eeldatavTitle = 'Welcome: Mercury Tours' String actualTitle = '' // käivitab Fire Foxi ja suunab selle baasi URL-i draiverile.get (baseUrl) // hankib pealkirja tegeliku väärtuse actualTitle = driver.getTitle () Thread.sleep (3000 ) / * * võrrelge lehe tegelikku pealkirja oodatuga ja printige * tulemus kas „lubatud” või „ebaõnnestunud” * / if (actualTitle.contentEquals (eeldatavTitle)) {System.out.println ('Test on läbitud!')} else {System.out.println ('Test ebaõnnestus')} // sulge Fire fox draiver.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. Seleen seleen-java 3.141.59 org.testng testng 6.14.3 test
  • Enne projekti käivitamist peame klassifaili DemoClass teisendama TestNG-failiks. Selleks paremklõpsake valikut DemoClass -> TestNG -> Convert to TestNG.

  • Nüüd projekti käivitamiseks paremklõpsake projekti -> Run as -> Maven clean. See kustutab projekti, eemaldades kõik eelmised järjendid.

  • Pärast Maveni puhastamist peate projekti testima, kuna oleme veebirakenduse testimise koodi kirjutanud. Nii et paremklõpsake projekti -> Run as -> Maven test. See avab veebisaidi ja vastab veebisaidi pealkirjale. Kui see sobib, siis läbib meie testjuhtum.

  • Samuti võime ülaltoodud käske täita käsuviiba abil. Selleks vajame faili pom.xml teed.

    • Tee saab paremklõpsates failil pom.xml -> Properties -> Location.
    • Kopeerige tee, seejärel avage käsuviip ja kleepige see CD abil sinna. cd C: / Kasutajad / Arvind Phulare / eclipse-workspace / maven.selenium.testng.
    • Kui olete seda teinud, saate uuesti sisestada Maveni käsud, näiteks mvn clean ja mvn test.

Nii et see on minu pool selles Maveni õpetuse blogis. Loodan, et olete aru saanud asjadest, mida oleme selles Maveni õpetuses arutanud.

Nüüd, kui olete sellest Maveni õpetusest aru saanud, vaadake seda Edureka, usaldusväärne veebiõppeettevõte, mille võrgustik hõlmab üle 250 000 rahuloleva õppija, levinud üle kogu maailma. Edureka DevOpsi sertifitseerimiskoolitus aitab õppijatel mõista, mis on DevOps, ja omandada teadmisi mitmesuguste DevOpsi protsesside ja tööriistade kohta, nagu Puppet, Jenkins, Nagios, Ansible, Chef, Saltstack ja GIT SDLC mitmete sammude automatiseerimiseks.

Kas teil on meile küsimus? Palun mainige seda selle Maveni õpetuse kommentaaride jaotises ja me pöördume teie poole