Výukový program Maven: Všetko, čo potrebujete vedieť, aby ste mohli začať



Tento tutoriál tohto blogu o Mavene obsahuje všetko, čo potrebujete vedieť, aby ste mohli začať s programom Maven pri vytváraní svojich projektov.

Namiesto písania dlhých skriptov na vytváranie svojich projektov a ručného sťahovania závislostí môžete použiť Maven a zbaviť sa tohto neporiadku. V tomto výučbe tohto blogu o Mavene sa dozviete všetko, čo potrebujete na začatie používania programu Maven pre váš projekt. Po dôkladnom pochopení tohto výukového programu Maven bude ďalším pravdepodobným krokom naučiť sa Jenkinsa, ktorý pokrýva fázu kontinuálnej integrácie .

V tomto výučbe tohto blogu o Mavene sa budeme venovať nasledujúcim témam:

  1. Prečo potrebujeme Maven?
  2. Čo je Maven?
  3. Maven Architecture
  4. Životný cyklus, fázy a ciele
  5. Demo projekt.

Prečo potrebujeme Maven?

Ak pracujete na projektoch Java, potom väčšinou potrebujete závislosti. Závislosti nie sú nič iné ako knižnice alebo súbory JAR. Musíte si ich stiahnuť a pridať ručne. Úloha upgradovania softvérového balíka pre váš projekt bola tiež vykonaná manuálne pred Maven. Preto bola potreba lepšieho nástroja na zostavenie, ktorý by zvládol takéto problémy.





Tu prichádza na scénu Maven. Maven dokáže vyriešiť všetky vaše problémy spojené so závislosťami. Musíte len určiť závislosti a softvérovú verziu, ktorú chcete, v súbore pom.xml v Maven a Maven sa postará o zvyšok.Pokúsme sa teda teraz pochopiť, čo presne je Maven.

čo je uviaznutie v Jave

Čo je Maven?

Projekt Maven vyvíja Apache Software Foundation, kde bol predtým súčasťou projektu v Jakarte. Maven je výkonný nástroj na automatizáciu zostavovania, ktorý sa primárne používa pre projekty založené na prostredí Java. Maven vám pomôže zvládnuť dva kritické aspekty tvorby softvéru -



  • Opisuje sa v ňom, ako je softvér zostavený
  • Opisuje závislosti.

Maven uprednostňuje konvencie pred konfiguráciou. Maven dynamicky sťahuje knižnice Java a doplnky Maven z jedného alebo viacerých úložísk, ako je napríklad Maven Central Repository, a ukladá ich do miestnej medzipamäte. Artefakty miestnych projektov možno tiež aktualizovať pomocou tejto miestnej medzipamäte. Maven vám tiež môže pomôcť zostaviť a spravovať projekty napísané v jazykoch C #, Ruby, Scala a ďalších.

Súbor Project Object Model (POM) je súbor XML, ktorý obsahuje informácie súvisiace s projektom a informácie o konfigurácii, ako sú závislosti, zdrojový adresár, doplnok, ciele atď., Ktoré Maven použil na zostavenie projektu. Keď vykonáte príkaz maven, dáte súboru maven súbor POM na vykonanie príkazov. Maven prečíta súbor pom.xml, aby vykonal svoju konfiguráciu a operácie.

Ciele Maven

Ciele Maven

Kedy by mal niekto použiť Maven?

    1. Ak je pre projekt príliš veľa závislostí.
    2. Keď sa závislá verzia často aktualizuje.
    3. Kontinuálne vytváranie, integráciu a testovanie je možné ľahko zvládnuť pomocou nástroja maven.
    4. Keď potrebujete jednoduchý spôsob generovania dokumentácie zo zdrojového kódu, kompilácie zdrojového kódu, zabalenia kompilovaného kódu do súborov JAR alebo ZIP.

Maven Architecture

Životný cyklus, fázy a ciele

1. Životný cyklus Maven



Existuje konkrétny životný cyklus, ktorý Maven sleduje pri nasadení a distribúcii cieľového projektu.

Existujú tri zabudované životné cykly:

  • predvolené - Toto je hlavný životný cyklus spoločnosti Maven, pretože je zodpovedný za nasadenie projektu.
  • čistý - Tento životný cyklus sa používa na vyčistenie projektu a odstránenie všetkých súborov vygenerovaných predchádzajúcim zostavením.
  • stránky - Cieľom tohto životného cyklu je vytvorenie dokumentácie miesta projektu.

Každý životný cyklus je tvorený postupnosťou fáz. Predvolený životný cyklus zostavenia pozostáva z 23 fáz, pretože je to hlavný životný cyklus zostavenia Maven

Na druhej strane čistý životný cyklus pozostáva z 3 fáz, zatiaľ čo životný cyklus lokality sa skladá zo 4 fáz.

2. Fázy Maven

Fáza Maven nie je nič iné ako etapa životného cyklu budovania Maven. Každá fáza vykonáva konkrétnu úlohu.

Tu je niekoľko dôležitých fáz predvoleného životného cyklu zostavenia -

  • potvrdiť - Táto fáza kontroluje, či sú k dispozícii všetky informácie potrebné na zostavenie
  • zostaviť - Táto fáza zostavuje zdrojový kód
  • test-zostaviť - Táto fáza zostavuje zdrojový kód testu
  • test - V tejto fáze prebiehajú jednotkové testy
  • balíček - Táto fáza balíkov skompilovala zdrojový kód do distribuovateľného formátu (jar, war)
  • integračný test - Táto fáza spracuje a nasadí balík, ak je to potrebné na vykonanie integračných testov
  • Inštalácia - Táto fáza nainštaluje balík do miestneho úložiska
  • nasadiť - Táto fáza skopíruje balík do vzdialeného úložiska

Maven vykonáva fázy v konkrétnom poradí. To znamená, že ak spustíme konkrétnu fázu pomocou príkazu ako mvn, nevykoná sa iba zadaná fáza, ale aj všetky predchádzajúce fázy.

Napríklad, ak spustíte príkaz mvn deploy, to znamená fázu nasadenia, ktorá je poslednou fázou v predvolenom životnom cykle zostavenia, vykonajú sa tiež všetky fázy pred fázou nasadenia.

twitterová analýza sentimentu

3. Ciele Maven

Sled cieľov predstavuje fázu a každý cieľ plní konkrétnu úlohu. Keď spustíte fázu, potom Maven vykoná všetky ciele v poradí, ktoré je spojené s touto fázou. Použitá syntax je plugin: goal. Niektoré fázy a predvolené ciele, ktoré sú s nimi spojené, sú nasledovné:

  • kompilátor: kompilácia - fáza kompilácie
  • kompilátor: test - test-kompilačná fáza
  • surefire: test - testovacia fáza
  • inštalovať: inštalovať - ​​inštalovať fázu
  • jar a vojna: vojna - fáza balenia

Plugin Maven je skupina cieľov. Nie všetky tieto ciele však musia byť nevyhnutne spojené s rovnakou fázou.Napríklad doplnok Maven Failsafe, ktorý je zodpovedný za vykonávanie integračných testov. Na testovanie jednotiek potrebujete doplnok Maven surefire.

Demo projekt

V tejto časti Maven tejto príručky sa pozrieme na ukážkový projekt. Na demonštráciu toho, ako je možné zostaviť projekt pomocou nástroja Maven, som vytvoril a Projekt Java spolu s TestNG pomocou Eclipse IDE. Toto je veľmi jednoduchý program, kde som napísal kód na otestovanie názvu webovej stránky.

Program automaticky spustí webový prehliadač, prejde na web uvedený v kóde, načíta názov tejto webovej stránky a porovná ju s očakávaným názvom. Ak sa skutočný názov a očakávaný názov zhodujú, potom testovací prípad prejde inak, zlyhá.

Takže pre tento projekt potrebujete , Maven a Eclipse stiahnuté vo vašom systéme. Verzie, ktoré vo svojom systéme používam, sú nasledujúce -

  1. Zatmenie - Enterprise Edition verzia 4.12.0 (2019-06)
  2. Java - verzia 1.8.0_211
  3. Maven - verzia 3.6.1
  • Okrem toho si musíte stiahnuť doplnok TestNG pre Eclipse a môžete si ho stiahnuť pomocou nasledujúcich krokov -
    • Otvorte Eclipse a choďte na Pomocníka. V Pomocníkovi kliknite na trh Eclipse.
    • Do poľa Nájsť zadajte TestNG a kliknite na Prejsť. Vo výsledkoch uvidíte „TestNG pre Eclipse“. Musíte si ho stiahnuť.
  • Po nastavení systému vyššie uvedenými vecami ste pripravení vytvoriť pomocou Mavenu demo projekt. Teraz vám teda poviem všetky kroky potrebné k tomu.
    • V Eclipse kliknite na File -> New -> Maven Project.
    • Kliknite na Vytvoriť jednoduchý projekt (preskočte výber archetypu) a potom kliknite na ďalšie.
  • Teraz uvidíte okno s parametrami ako Group Id, Artifact Id atď.
    • ID skupiny je jedinečné ID skupiny, ktorá vlastní projekt.
    • Artifact Id je názov finálnej kompilačnej jednotky.
    • Verzia je verzia vytvoreného artefaktu. SNAPSHOT označuje prebiehajúcu prácu.
    • Balenie môže byť jar, vojna alebo pom v závislosti od vášho projektu. Pre náš projekt vyberieme jar. Potom uveďte názov vášho projektu.

  • Po vytvorení projektu uvidíte štruktúru projektu vášho projektu Maven. Tu môžete vidieť nasledujúce veci -
    • pom.xml
    • src a terč
    • src / main / java
    • src / test / java
    • Závislosti Maven
  • Teraz vytvorte súbor triedy v src / main / test a pomenujte ho DemoClass. Táto trieda obsahuje selénový kód, ktorý používame na testovanie. Teraz sme do súboru pom.xml pridali selén, závislosti TestNG a kompilátor Maven a doplnok Surefire. Kód pre DemoClass a pom.xml je uvedený nižšie:
balíček maven.selenium.testng import org.openqa.selenium.WebDriver import org.openqa.selenium.chrome.ChromeDriver import org.testng.annotations.Test verejnej triedy DemoClass {@Test public void test () vyvolá vyhlásenie InterruptedException {// a inštancia objektov / premenných //System.setProperty('webdriver.gecko.driver','/home/edureka/Downloads/geckodriver ') // ovládač WebDriver = nový FirefoxDriver () // komentár k vyššie uvedeným 2 riadkom a komentár pod 2 riadky, ktoré majú používať Chrome System.setProperty ('webdriver.chrome.driver', 'C: UsersArvind PhulareDesktopchromedriver.exe') Ovládač WebDriver = nový ChromeDriver () String baseUrl = 'http://newtours.demoaut.com/' String expectTitle = 'Vitajte: Mercury Tours' String actualTitle = '' // spustite Fire fox a nasmerujte ho na Base URL driver.get (baseUrl) // získajte skutočnú hodnotu titulu actualTitle = driver.getTitle () Thread.sleep (3000 ) / * * porovnajte skutočný názov stránky s očakávaným a vytlačte * výsledok ako „Úspešne“ alebo „Neúspešne“ * / if (actualTitle.contentEquals (expectTitle)) {System.out.println ('Test Passed!')} else {System.out.println ('Test Failed')}} // zavrieť 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.selénhq.selén selén-java 3.141,59 org.testovanie testng 6.14.3 test
  • Pred spustením projektu musíme previesť súbor triedy DemoClass na súbor TestNG. Kliknite pravým tlačidlom myši na DemoClass -> TestNG -> previesť na TestNG.

  • Teraz pre spustenie projektu kliknite pravým tlačidlom myši na projekt -> Spustiť ako -> Maven clean. Týmto sa projekt vymaže odstránením všetkých predchádzajúcich verzií.

  • Po vyčistení Maven musíte projekt otestovať, pretože sme napísali kód na testovanie webovej aplikácie. Takže kliknite pravým tlačidlom myši na projekt -> Spustiť ako -> Maven test. Týmto sa otvorí webová stránka a bude zodpovedať názvu webovej stránky. Ak sa to zhoduje, potom náš testovací prípad prejde.

  • Vyššie uvedené príkazy môžeme vykonať aj pomocou príkazového riadku. Na to potrebujeme cestu k súboru pom.xml.

    • Cestu môžete získať kliknutím pravým tlačidlom myši na súbor pom.xml -> Vlastnosti -> Umiestnenie.
    • Skopírujte cestu, potom otvorte príkazový riadok a vložte ho tam pomocou CD. cd C: / Users / Arvind Phulare / eclipse-workspace / maven.selenium.testng.
    • Keď to urobíte, môžete znova zadať príkazy Maven, ako napríklad mvn clean a mvn test.

Takže toto je z mojej strany tento tutoriál blogu na Mavene. Dúfam, že ste pochopili veci, o ktorých sme hovorili v tomto tutoriále Maven.

Teraz, keď ste pochopili tento návod Maven, pozrite sa na toto autor: Edureka, dôveryhodná online vzdelávacia spoločnosť so sieťou viac ako 250 000 spokojných študentov rozmiestnených po celom svete. Edureka DevOps Certification Training kurz pomáha študentom pochopiť, čo je DevOps, a získať odborné znalosti v rôznych procesoch a nástrojoch DevOps, ako sú Puppet, Jenkins, Nagios, Ansible, Chef, Saltstack a GIT na automatizáciu viacerých krokov v SDLC.

Máte na nás otázku? Uveďte to, prosím, v sekcii komentárov tohto tutoriálu Maven a my sa vám ozveme