Výukový program Maven: Vše, co potřebujete vědět, abyste mohli začít



Tento blog o výukovém programu Maven pokrývá vše, co potřebujete vědět, abyste mohli začít s Mavenem pro vytváření vašich projektů.

Místo psaní dlouhých skriptů pro vytváření projektů a ručního stahování závislostí, proč nepoužívat Maven a zbavit se tohoto nepořádku. Tento blog o výukovém programu Maven se bude věnovat všemu, co potřebujete, abyste mohli začít používat Maven pro svůj projekt. Po důkladném pochopení tohoto tutoriálu Maven bude dalším pravděpodobným krokem naučit se Jenkinse, který pokrývá fázi Continuous Integration .

V tomto blogu o výukovém programu Maven se budeme zabývat následujícími tématy:

  1. Proč potřebujeme Mavena?
  2. Co je Maven?
  3. Maven architektura
  4. Životní cyklus, fáze a cíle Maven
  5. Demo projekt.

Proč potřebujeme Mavena?

Pokud pracujete na projektech Java, pak většinou potřebujete závislosti. Závislosti nejsou nic jiného než knihovny nebo soubory JAR. Musíte si je stáhnout a přidat ručně. Úkol upgradovat softwarový zásobník pro váš projekt byl také proveden ručně před Mavenem. Proto byla potřeba lepšího nástroje pro sestavení, který by takové problémy zvládl.





Tady přichází Maven do obrazu. Maven dokáže vyřešit všechny vaše problémy související se závislostmi. Musíte pouze určit závislosti a verzi softwaru, kterou chcete, v souboru pom.xml v Maven a Maven se postará o zbytek.Zkusme nyní pochopit, co přesně je Maven.

c ++ stl řazení

Co je Maven?

Projekt Maven je vyvíjen Apache Software Foundation, kde byl dříve součástí projektu v Jakartě. Maven je výkonný nástroj pro automatizaci sestavení, který se primárně používá pro projekty založené na prostředí Java. Maven vám pomůže zvládnout dva kritické aspekty vytváření softwaru -



  • Popisuje, jak je software vytvořen
  • Popisuje závislosti.

Maven preferuje konvenci před konfigurací. Maven dynamicky stahuje knihovny Java a pluginy Maven z jednoho nebo více úložišť, jako je centrální úložiště Maven, a ukládá je do místní mezipaměti. Artefakty místních projektů lze také aktualizovat pomocí této místní mezipaměti. Maven vám také může pomoci vytvářet a spravovat projekty napsané v jazycích C #, Ruby, Scala a dalších.

Soubor Project Object Model (POM) je soubor XML, který obsahuje informace související s projektem a konfigurační informace, jako jsou závislosti, zdrojový adresář, plugin, cíle atd., Které Maven použil k sestavení projektu. Když spustíte příkaz maven, dáte souboru maven soubor POM k provedení příkazů. Maven čte soubor pom.xml, aby provedl svou konfiguraci a operace.

Cíle Maven

Cíle Maven

Kdy by měl někdo použít Maven?

    1. Pokud je pro projekt příliš mnoho závislostí.
    2. Když se verze závislostí často aktualizuje.
    3. Kontinuální sestavení, integraci a testování lze snadno zvládnout pomocí maven.
    4. Když potřebujete snadný způsob generování dokumentace ze zdrojového kódu, kompilace zdrojového kódu, zabalení kompilovaného kódu do souborů JAR nebo ZIP.

Maven architektura

Životní cyklus, fáze a cíle Maven

1. Životní cyklus Maven



Existuje specifický životní cyklus, který Maven následuje při nasazení a distribuci cílového projektu.

Existují tři integrované životní cykly:

  • výchozí - Toto je hlavní životní cyklus společnosti Maven, protože je zodpovědný za nasazení projektu.
  • čistý - Tento životní cyklus se používá k vyčištění projektu a odstranění všech souborů vygenerovaných předchozím sestavením.
  • stránky - Cílem tohoto životního cyklu je vytvořit dokumentaci místa projektu.

Každý životní cyklus se skládá ze sledu fází. Výchozí životní cyklus sestavení se skládá z 23 fází, protože se jedná o hlavní životní cyklus sestavení Maven

Na druhou stranu se čistý životní cyklus skládá ze 3 fází, zatímco životní cyklus lokality se skládá ze 4 fází.

2. Mavenovy fáze

Fáze Maven není nic jiného než fáze životního cyklu stavby Maven. Každá fáze provádí konkrétní úkol.

Zde je několik důležitých fází výchozího životního cyklu sestavení -

  • ověřit - Tato fáze kontroluje, zda jsou k dispozici všechny informace potřebné pro sestavení
  • kompilovat - Tato fáze sestavuje zdrojový kód
  • test-kompilace - Tato fáze sestavuje zdrojový kód testu
  • test - Tato fáze provádí jednotkové testy
  • balík - Tato fáze balíčky zkompilovala zdrojový kód do distribuovatelného formátu (jar, war)
  • integrační test - Tato fáze v případě potřeby provede a nasadí balíček pro spuštění integračních testů
  • Nainstalujte - Tato fáze nainstaluje balíček do místního úložiště
  • nasadit - Tato fáze zkopíruje balíček do vzdáleného úložiště

Maven provádí fáze v určitém pořadí. To znamená, že pokud spustíme konkrétní fázi pomocí příkazu, jako je mvn, nespustí se pouze zadaná fáze, ale také všechny předchozí fáze.

Například pokud spustíte příkaz mvn deploy, to znamená fázi nasazení, která je poslední fází ve výchozím životním cyklu sestavení, provede se také všechny fáze před fází nasazení.

podobnosti mezi java a javascript

3. Cíle Maven

Sled cílů představuje fázi a každý cíl provádí konkrétní úkol. Když spustíte fázi, pak Maven provede všechny cíle v pořadí, které jsou přidružené k této fázi. Používaná syntaxe je plugin: goal. Některé fáze a výchozí cíle s nimi spojené jsou následující:

  • kompilátor: kompilace - fáze kompilace
  • kompilátor: test - test-kompilace fáze
  • surefire: test - testovací fáze
  • install: install - instalace fáze
  • jar a war: war - fáze balíčku

Plugin Maven je skupina cílů. Tyto cíle však nemusí být nutně vázány na stejnou fázi.Například plugin Maven Failsafe, který je zodpovědný za provádění integračních testů. Pro testování jednotek potřebujete plugin Maven surefire.

Demo projekt

V této části Maven tutoriál, podíváme se na demo projekt. Abych ukázal, jak stavět projekt pomocí Mavenu, vytvořil jsem Projekt Java spolu s TestNG pomocí Eclipse IDE. Jedná se o velmi jednoduchý program, kde jsem napsal kód pro otestování názvu webové stránky.

Program automaticky spustí webový prohlížeč, přejde na web uvedený v kódu, načte název této webové stránky a porovná jej s očekávaným názvem. Pokud se skutečný název a očekávaný název shodují, testovací případ projde, jinak selže.

Takže pro tento projekt potřebujete , Maven a Eclipse stažené do vašeho systému. Verze, které v systému používám, jsou následující -

  1. Zatmění - Enterprise Edition verze 4.12.0 (2019-06)
  2. Jáva - verze 1.8.0_211
  3. Maven - verze 3.6.1
  • Kromě toho si musíte stáhnout plugin TestNG pro Eclipse a můžete si jej stáhnout pomocí následujících kroků -
    • Otevřete Eclipse a přejděte do nápovědy. V nápovědě klikněte na tržiště Eclipse.
    • Do pole Najít zadejte TestNG a klikněte na Přejít. Ve výsledcích uvidíte „TestNG pro Eclipse“. Musíte si jej stáhnout.
  • Po nastavení systému výše uvedenými věcmi jste připraveni vytvořit demo projekt pomocí Mavenu. Takže teď vám řeknu všechny kroky, které jsou k tomu zapotřebí.
    • V Eclipse klikněte na Soubor -> Nový -> Maven Project.
    • Klikněte na Vytvořit jednoduchý projekt (přeskočit výběr archetypu) a poté klikněte na další.
  • Nyní uvidíte okno s parametry, jako je ID skupiny, ID artefaktu atd.
    • ID skupiny je jedinečné ID skupiny, která vlastní projekt.
    • Artifact Id je název finální kompilační jednotky.
    • Verze je verze vytvořeného artefaktu. SNAPSHOT označuje probíhající práci.
    • Balení může být jar, war nebo pom v závislosti na vašem projektu. Pro náš projekt vybereme jar. Poté uveďte název svého projektu.

  • Jakmile vytvoříte projekt, uvidíte strukturu projektu vašeho projektu Maven. Zde vidíte následující věci -
    • pom.xml
    • src a cíl
    • src / main / java
    • src / test / java
    • Maven závislosti
  • Nyní vytvořte soubor třídy v src / main / test a pojmenujte jej DemoClass. Tato třída obsahuje kód selenu, který používáme pro testování. Nyní jsme do souboru pom.xml přidali selen, závislosti TestNG a kompilátor Maven a plugin Surefire. Kód pro DemoClass a pom.xml je uveden níže:
balíček maven.selenium.testng import org.openqa.selenium.WebDriver import org.openqa.selenium.chrome.ChromeDriver import org.testng.annotations.Test veřejné třídy DemoClass {@Test public void test () vyvolá prohlášení InterruptedException {// a vytváření instancí objektů / proměnných //System.setProperty('webdriver.gecko.driver','/home/edureka/Downloads/geckodriver ') // Driver WebDriver = nový FirefoxDriver () // komentovat výše uvedené 2 řádky a odkomentovat pod 2 řádky pro použití Chrome System.setProperty ('webdriver.chrome.driver', 'C: UsersArvind PhulareDesktopchromedriver.exe') WebDriver driver = new ChromeDriver () String baseUrl = 'http://newtours.demoaut.com/' String expectTitle = 'Welcome: Mercury Tours' String actualTitle = '' // spusťte Fire fox a přesměrujte jej na ovladač Base URL driver.get (baseUrl) // získejte skutečnou hodnotu názvu actualTitle = driver.getTitle () Thread.sleep (3000 ) / * * porovnejte skutečný název stránky s očekávaným a vytiskněte * výsledek jako „Úspěšně“ nebo „Neúspěšně“ * / if (actualTitle.contentEquals (expectTitle)) {System.out.println ('Test Passed!')} else {System.out.println ('Test Failed')} // zavřít ovladač 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.selenhq.selenium selen-java 3.141.59 org.testng testng 6.14.3 test
  • Před spuštěním projektu musíme převést soubor třídy DemoClass na soubor TestNG. Chcete-li to provést, klepněte pravým tlačítkem myši na DemoClass -> TestNG -> Převést na TestNG.

  • Nyní ke spuštění projektu klikněte pravým tlačítkem na projekt -> Spustit jako -> Maven clean. Tím se projekt vymaže odebráním všech předchozích sestavení.

  • Po Maven clean musíte projekt otestovat, protože jsme napsali kód pro testování webové aplikace. Klikněte pravým tlačítkem na projekt -> Spustit jako -> Maven test. Tím se otevře web a bude odpovídat názvu webu. Pokud se to shoduje, pak náš testovací případ projde.

  • Můžeme také provést výše uvedené příkazy pomocí příkazového řádku. K tomu potřebujeme cestu k souboru pom.xml.

    • Cestu můžete získat kliknutím pravým tlačítkem na soubor pom.xml -> Vlastnosti -> Umístění.
    • Zkopírujte cestu, poté otevřete příkazový řádek a vložte jej tam pomocí CD. cd C: / Users / Arvind Phulare / eclipse-workspace / maven.selenium.testng.
    • Jakmile to uděláte, můžete znovu zadat příkazy Maven, jako je mvn clean a mvn test.

Takže to je z mé strany v tomto blogu na Maven tutoriálu. Doufám, že jste pochopili věci, o kterých jsme hovořili v tomto tutoriálu Maven.

Nyní, když jste pochopili tento tutoriál Maven, podívejte se na toto Edureka, důvěryhodná online vzdělávací společnost se sítí více než 250 000 spokojených studentů rozložených po celém světě. Kurz Certifikace Edureka DevOps pomáhá studentům pochopit, co je DevOps, a získat odborné znalosti v různých procesech a nástrojích DevOps, jako jsou Puppet, Jenkins, Nagios, Ansible, Chef, Saltstack a GIT pro automatizaci více kroků v SDLC.

Máte na nás dotaz? Uveďte to prosím v sekci komentářů v tomto tutoriálu Maven a my se vám ozveme