„Maven“ pamoka: viskas, ką reikia žinoti, kad galėtumėte pradėti



Šiame tinklaraštyje, esančiame „Maven“ pamokoje, yra viskas, ką reikia žinoti, kad galėtumėte pradėti naudotis „Maven“ kurdami savo projektus.

Užuot rašę ilgus scenarijus savo projektams kurti ir rankiniu būdu atsisiųsti priklausomybes, kodėl gi ne naudoti „Maven“ ir atsikratyti šios netvarkos. Šiame tinklaraštyje apie „Maven“ mokymo programą bus aptarta viskas, ko reikia norint pradėti naudoti „Maven“ savo projektui. Gerai supratęs šį „Maven“ vadovėlį, kitas galimas žingsnis bus išmokti Jenkinsą, kuris apima nuolatinės integracijos etapą .

Šiame „Maven“ pamokų tinklaraštyje aptarsime šias temas:

  1. Kodėl mums reikalingas Mavenas?
  2. Kas yra Mavenas?
  3. Maveno architektūra
  4. Maven gyvenimo ciklas, fazės ir tikslai
  5. Demonstracinis projektas.

Kodėl mums reikalingas Mavenas?

Jei dirbate su „Java“ projektais, dažniausiai jums reikia priklausomybių. Priklausomybės yra ne kas kita, o bibliotekos ar JAR failai. Turite juos atsisiųsti ir pridėti rankiniu būdu. Be to, užduotis atnaujinti savo programinės įrangos šūsnį buvo atlikta rankiniu būdu prieš „Maven“. Taigi reikėjo geresnio kūrimo įrankio, kuris spręstų tokius klausimus.





Čia Mavenas patenka į paveikslą. Mavenas gali išspręsti visas jūsų problemas, susijusias su priklausomybe. Jums tiesiog reikia nurodyti priklausomybes ir norimą programinės įrangos versiją pom.xml faile „Maven“ ir „Maven“ pasirūpins visa kita.Taigi dabar pabandykime suprasti, kas tiksliai yra Mavenas.

Kas yra Mavenas?

„Maven“ projektą sukūrė „Apache Software Foundation“, kur jis anksčiau buvo Džakartos projekto dalis. „Maven“ yra galingas kūrimo automatikos įrankis, pirmiausia naudojamas „Java“ pagrįstiems projektams. „Maven“ padeda spręsti du svarbiausius programinės įrangos kūrimo aspektus -



  • Joje aprašoma, kaip kuriama programinė įranga
  • Jis apibūdina priklausomybes.

Mavenas teikia pirmenybę konvencijai, o ne konfigūracijai. „Maven“ dinamiškai atsisiunčia „Java“ bibliotekas ir „Maven“ papildinius iš vienos ar kelių saugyklų, tokių kaip „Maven Central Repository“, ir saugo juos vietinėje talpykloje. Vietos projektų artefaktus taip pat galima atnaujinti naudojant šią vietinę talpyklą. „Maven“ taip pat gali padėti kurti ir valdyti projektus, parašytus C #, „Ruby“, „Scala“ ir kitomis kalbomis.

„Project Object Model“ (POM) failas yra XML failas, kuriame yra informacijos, susijusios su projektu, ir konfigūracijos informacijos, pvz., Priklausomybės, šaltinio katalogas, papildinys, tikslai ir kt., Kuriuos Maven naudoja projektui kurti. Vykdydami „maven“ komandą, duodate „maven“ POM failą komandoms vykdyti. Mavenas nuskaito failą pom.xml, kad atliktų jo konfigūraciją ir operacijas.

Maveno tikslai

Maveno tikslai

Kada kažkas turėtų naudoti „Maven“?

    1. Jei yra per daug priklausomybių nuo projekto.
    2. Kai priklausomybės versija dažnai atnaujinama.
    3. Nuolatinį kūrimą, integravimą ir testavimą galima lengvai atlikti naudojant „maven“.
    4. Kai reikia paprasto būdo sukurti dokumentą iš šaltinio kodo, surinkti šaltinio kodą, supakuotą kodą supakuoti į JAR arba ZIP failus.

Maveno architektūra

Maven gyvenimo ciklas, fazės ir tikslai

1. Mavenio gyvenimo ciklas



Yra konkretus gyvenimo ciklas, kurio laikosi Mavenas, kad įdiegtų ir paskirstytų tikslinį projektą.

Yra trys įmontuoti gyvenimo ciklai:

  • numatytas - Tai yra pagrindinis „Maven“ gyvenimo ciklas, nes jis yra atsakingas už projekto diegimą.
  • švarus - Šis gyvavimo ciklas naudojamas valyti projektą ir pašalinti visus failus, sugeneruotus ankstesnio kūrimo metu.
  • svetainėje - Šio gyvenimo ciklo tikslas yra sukurti projekto vietos dokumentaciją.

Kiekvienas gyvenimo ciklas susideda iš fazių sekos. Numatytasis sukūrimo gyvavimo ciklas susideda iš 23 fazių, nes tai yra pagrindinis „Maven“ kūrimo gyvavimo ciklas

sujungti rūšiuoti c ++

Kita vertus, švarus gyvavimo ciklas susideda iš 3 fazių, o teritorijos gyvavimo ciklas - iš 4 fazių.

2. Maveno fazės

„Maven“ fazė yra ne kas kitas, o „Maven build“ gyvenimo ciklo etapas. Kiekviename etape vykdoma konkreti užduotis.

Štai keletas svarbių numatytojo kūrimo gyvavimo ciklo etapų -

  • patvirtinti - Šiame etape patikrinama, ar yra visa informacija, reikalinga statybai
  • sudaryti - Šiame etape sudaromas šaltinio kodas
  • testas-kompiliavimas - Šiame etape sudaromas testo šaltinio kodas
  • testas - Šiame etape atliekami vieneto bandymai
  • paketą - Šis etapas pakuoja sukurtą šaltinio kodą į platinamą formatą (stiklainis, karas)
  • integracijos testas - Šis etapas apdoroja ir įdiegia paketą, jei reikia, norint vykdyti integracijos testus
  • diegti - Šiame etape paketas įdiegiamas vietinėje saugykloje
  • dislokuoti - Šis etapas paketą nukopijuoja į nuotolinę saugyklą

Mavenas vykdo fazes tam tikra tvarka. Tai reiškia, kad jei vykdysime konkretų etapą naudodami komandą, pvz., „Mvn“, tai atliks ne tik nurodytą, bet ir visas ankstesnes fazes.

Pvz., Jei vykdote komandą „mvn deploy“, tai yra diegimo fazė, kuri yra paskutinė numatytojo kūrimo gyvavimo ciklo fazė, tada visos fazės bus vykdomos ir prieš diegimo fazę.

skaitytuvo klasė java pavyzdyje

3. Maveno tikslai

Tikslų seka sudaro etapą ir kiekvienas tikslas vykdo konkrečią užduotį. Kai paleidžiate fazę, tada Mavenas vykdo visus tikslus tokia tvarka, kuri yra susijusi su ta faze. Naudojama sintaksė yra įskiepis: tikslas. Kai kurie etapai ir su jais susieti numatytieji tikslai yra šie:

  • kompiliatorius: kompiliavimas - kompiliavimo etapas
  • kompiliatorius: testas - testas-kompiliavimo etapas
  • patikimas ugnis: testas - bandymo etapas
  • install: install - install etapas
  • stiklainis ir karas: karo paketo etapas

„Maven“ papildinys yra tikslų grupė. Tačiau šie tikslai nebūtinai siejami su tuo pačiu etapu.Pavyzdžiui, „Maven Failsafe“ papildinys, atsakingas už integracijos testų vykdymą. Norint išbandyti vienetą, jums reikia „Maven surefire“ papildinio.

Demonstracinis projektas

Šiame skyriuje Mavenas pamoka, mes pažvelgsime į demonstracinį projektą. Norėdami parodyti, kaip sukurti projektą naudojant „Maven“, sukūriau a „Java“ projektas kartu su „TestNG“ naudojant „Eclipse IDE“. Tai labai paprasta programa, kur aš parašiau kodą, norėdamas išbandyti svetainės pavadinimą.

Programa automatiškai paleis žiniatinklio naršyklę, pereis į kode nurodytą svetainę, atgaus to tinklalapio pavadinimą ir palygins jį su laukiamu pavadinimu. Jei tikrasis vardas ir laukiamas titulas sutampa, tada bandomasis atvejis praeina, kitaip jis nepavyksta.

Taigi šiam projektui jums reikia , „Maven“ ir „Eclipse“ atsisiųsti į jūsų sistemą. Savo sistemoje naudoju šias versijas:

  1. Užtemimas - „Enterprise Edition“ versija 4.12.0 (2019-06)
  2. „Java“ - 1.8.0_211 versija
  3. Mavenas - 3.6.1 versija
  • Be to, turite atsisiųsti „TestNG“ papildinį, skirtą „Eclipse“, ir galite jį atsisiųsti atlikdami šiuos veiksmus:
    • Atidarykite „Eclipse“ ir eikite į „Help“. Pagalboje spustelėkite „Eclipse“ turgavietę.
    • Įveskite TestNG laukelyje Rasti ir spustelėkite Pirmyn. Rezultatuose pamatysite „TestNG for Eclipse“. Turite jį atsisiųsti.
  • Kai sukursite sistemą su aukščiau nurodytais dalykais, visi galėsite sukurti demonstracinį projektą naudodami „Maven“. Taigi dabar aš jums pasakysiu visus veiksmus, reikalingus tai padaryti.
    • „Eclipse“ spustelėkite File -> New -> Maven Project.
    • Spustelėkite Sukurti paprastą projektą (praleiskite archetipo pasirinkimą), tada spustelėkite toliau.
  • Dabar pamatysite langą su tokiais parametrais kaip „Group Id“, „Artefact Id“ ir pan.
    • Grupės ID yra unikalus grupės, kuriai priklauso projektas, ID.
    • Artefact Id yra galutinio kompiliavimo vieneto pavadinimas.
    • Versija yra sukurto artefakto versija. SNAPSHOT rodo nebaigtą darbą.
    • Pakuotė gali būti stiklainis, karas arba pom, priklausomai nuo jūsų projekto. Savo projektui mes pasirinksime stiklainį. Tada nurodykite savo projekto pavadinimą.

  • Kai sukursite projektą, pamatysite savo „Maven“ projekto struktūrą. Čia galite pamatyti šiuos dalykus:
    • pom.xml
    • src ir taikinys
    • src / main / java
    • src / test / java
    • Maveno priklausomybės
  • Dabar sukurkite klasės failą src / main / test ir pavadinkite jį „DemoClass“. Šioje klasėje yra seleno kodas, kurį naudojame bandymams atlikti. Dabar prie pom.xml failo pridėjome „Selenium“, „TestNG“ priklausomybes ir „Maven“ kompiliatorių bei „Surefire“ papildinį. Žemiau pateikiamas „DemoClass“ ir „pom.xml“ kodas:
paketas maven.selenium.testng import org.openqa.selenium.WebDriver importuoti org.openqa.selenium.chrome.ChromeDriver importuoti org.testng.annotations.Test public class DemoClass {@Test public void test () meta InterruptedException {// deklaraciją ir objektų / kintamųjų egzempliorius //System.setProperty('webdriver.gecko.driver','/home/edureka/Downloads/geckodriver ') // „WebDriver“ tvarkyklė = nauja „FirefoxDriver“ () // komentuokite 2 aukščiau esančias eilutes ir komentuokite žemiau 2 eilutės naudoti „Chrome System.setProperty“ („webdriver.chrome.driver“, „C: UsersArvind PhulareDesktopchromedriver.exe“) „WebDriver“ tvarkyklė = nauja „ChromeDriver“ () String baseUrl = 'http://newtours.demoaut.com/' String expectedTitle = „Sveiki atvykę:„ Mercury Tours “„ String actualTitle = “' // paleidžia „Fire Fox“ ir nukreipia jį į pagrindinio URL tvarkyklę.get (baseUrl) // gaukite faktinę pavadinimo vertę actualTitle = driver.getTitle () Thread.sleep (3000 ) / * * palyginkite tikrąjį puslapio pavadinimą su numatomu ir atspausdinkite * rezultatą kaip „Perduota“ arba „Nepavyko“ * / if (actualTitle.contentEquals (numatytasTitle)) {System.out.println ('Atliktas bandymas!')} dar {System.out.println ('Bandymas nepavyko')} // uždaryti „Fire fox“ tvarkyklę.uždaryti ()}}
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.seleno selenas-java 3.141.59 org.testng testng 6.14.3 testas
  • Prieš vykdydami projektą turime konvertuoti klasės failą DemoClass į TestNG failą. Norėdami tai padaryti, dešiniuoju pelės mygtuku spustelėkite DemoClass -> TestNG -> Convert to TestNG.

  • Dabar, norėdami vykdyti projektą, dešiniuoju pelės mygtuku spustelėkite projektą -> Vykdyti kaip -> „Maven clean“. Tai išvalys projektą pašalindama visus ankstesnius kūrinius.

  • Išvalę „Maven“, turite išbandyti projektą, nes mes parašėme žiniatinklio programos testavimo kodą. Taigi dešiniuoju pelės mygtuku spustelėkite projektas -> Vykdyti kaip -> Maven testas. Tai atidarys svetainę ir atitiks svetainės pavadinimą. Jei jis sutaps, mūsų bandomasis atvejis praeis.

  • Mes taip pat galime vykdyti pirmiau nurodytas komandas naudodami komandų eilutę. Tam mums reikia failo pom.xml kelio.

    • Kelias galite gauti dešiniuoju pelės klavišu spustelėdami failą pom.xml -> Properties -> Location.
    • Nukopijuokite kelią, tada atidarykite komandų eilutę ir įklijuokite ją ten naudodami kompaktinį diską. CD C: / Vartotojai / Arvindas Phulare'as / užtemimo darbo vieta / maven.selenium.testng.
    • Tai padarę, vėl galite įvesti „Maven“ komandas, pvz., „Mvn clean“ ir „mvn test“.

Taigi tai yra iš mano pusės šiame „Maven“ vadovėlio tinklaraštyje. Tikiuosi, kad supratote dalykus, kuriuos aptarėme šioje „Maven“ pamokoje.

Dabar, kai supratote šią „Maven“ mokymo programą, patikrinkite tai sukūrė patikima internetinė mokymosi įmonė „Edureka“, turinti daugiau nei 250 000 patenkintų besimokančiųjų tinklą visame pasaulyje. „Edureka DevOps“ sertifikavimo mokymo kursas padeda besimokantiesiems suprasti, kas yra „DevOps“, ir įgyti patirties įvairiuose „DevOps“ procesuose ir įrankiuose, tokiuose kaip „Puppet“, „Jenkins“, „Nagios“, „Ansible“, „Chef“, „Saltstack“ ir „GIT“, norint automatizuoti kelis SDLC veiksmus.

Turite mums klausimą? Prašau paminėti tai šios „Maven“ pamokos komentarų skyriuje ir mes su jumis susisieksime