maven dependency integration with eclipse
V tomto kurzu budeme podrobně diskutovat o integraci Maven s Eclipse a TestNG, Maven Dependency Scope a Maven Deployment Automation:
V předchozím tutoriálu jsme diskutovali srovnání mezi Gradle vs Maven a Maven Plugins. Tento kurz vysvětluje, jak integrovat Maven s jinými nástroji, závislostí Maven a nasazením Maven.
Jak převrátit pole
Začněme!
=> Navštivte zde exkluzivní sérii výukových kurzů Maven.
Co se naučíte:
- Integrace Maven s Eclipse
- Integrace Maven s TestNG
- Rozsah závislosti Maven
- Automatizace nasazení Maven
- Maven Release Plugin
- Závěr
- Doporučené čtení
Integrace Maven s Eclipse
O tom, jak integrovat Maven s Eclipse, jsme již podrobně diskutovali strana
V určitých scénářích, kdy stavíme projekt Maven z příkazového řádku a musíme tento projekt přenést do Eclipse, je třeba provést následující kroky.
# 1) Přejděte do umístění souboru pom pro projekt Maven. Spusťte níže uvedený příkaz.
zatmění mvn: zatmění
# 2) .classpath a .projekt bude vytvořen v umístění projektu Maven.
Ověřte, zda je plugin Maven již poskytován v Eclipse od Windows => Předvolby , Maven by tam měl být přítomen. Všechny aktuální verze Eclipse mají ve výchozím nastavení pluginy Maven, a pokud tam nejsou, můžeme je získat tady .
# 3) Nyní, aby Maven a Eclipse fungovaly společně, importujte projekt Maven ze souboru. Poté vyberte Stávající projekt Maven.
# 4) Procházejte umístění projektu a pokračovat.

Obrázek nahoře ukazuje projekt Maven importovaný do Eclipse.
Integrace Maven s TestNG
Jak integrovat Maven s TestNG bylo podrobně diskutováno na níže uvedené stránce.
=> Integrace Maven s TestNg pomocí pluginu Maven Surefire
I když jsme do našeho projektu integrovali Maven s TestNG, mohou nastat situace, kdy náš projekt obsahuje více než jeden xml soubor Testng. Například, celé funkce regresní sady jsou popsány v jednom souboru testng.xml a zdravé testovací případy jsou popsány v druhém souboru testng.xml.
V takové situaci musíme použít profil koncept v Maven. V souboru pom musíme definovat profily. Každá z nich je součástí značky a je k ní přidružena.
Níže je uveden soubor pom.xml s fragmentem kódu profilu:
Regression org.apache.maven.plugins maven-surefire-plugin 2.20.1 testngRegression.xml Sanity org.apache.maven.plugins maven-surefire-plugin 2.20.1 testngSanity.xml
Vezměte prosím na vědomí, že máme dva výše uvedené profily, které jsou popsány níže a ke každému profilu je přidruženo ID. Například, Regrese a Zdravý rozum také jsme v rámci suiteXmlFiles definovali název xml souboru Testng odpovídající ID ( testngRegression.xml a testngSanity.xml ).
kontrola nefunkčních odkazů v nástrojích pro webmastery google
Máme zde tedy dva profily a každý soubor Testng můžeme ovládat pomocí jediného souboru pom.
Nyní, abychom spustili testovací případ pro každý soubor Testng přímo z příkazového řádku, musíme se přesunout do složky projektu a spustit následující příkaz.
mvn test –PRegression
Jakmile je toto provedeno, prohledá Maven profil s ID Regrese a odpovídajícím testngRegression.xml soubor. Provedou se tedy pouze tam zapojené testy.
Podobně pro profil s id Sanity je příkaz:
mvn test –PSanity
Tady testngSanity.xml soubor slouží k určení testovacích případů, které mají být provedeny. Pro spuštění konkrétní sady testovacích případů tedy nemusíme upravovat název souboru TestNG v pom, spíše jej lze snadno dosáhnout udržováním samostatných souborů TestNG.
V souboru pom můžeme tyto soubory namapovat a nakonec je spustit pomocí profilů v Maven z příkazového řádku.
Rozsah závislosti Maven
Maven má celkem šest oborů, jak je uvedeno níže.
- Pokud
- Test
- Systém
- Import
- Kompilovat
- Runtime
# 1) Runtime Scope
Závislost Maven má rozsah za běhu a nepoužívá se pro účely sestavení. Představuje třídu pro běh a testování projektu. Níže uvedený fragment kódu zobrazuje závislost rozsahu modulu runtime.
com.softwaretesting MavenJava 2.3 runtime
# 2) Rozsah systému
Závislost Maven s rozsahem jako systém má podobnost s poskytovaným rozsahem. Závislosti systému nelze stáhnout ze vzdáleného úložiště a jsou obvykle umístěny v adresářích projektu. Níže uvedený fragment kódu ukazuje závislost rozsahu systému.
com.software MavenJava1 system 3.0 ${dir}warWEB-INFlibdep.jar
# 3) Poskytnutý rozsah
Závislost Maven, která má rozsah, jak je stanoveno, je vyžadována pro vytváření a testování projektů. Nedoporučuje se exportovat tuto závislost, protože jsou k dispozici za běhu. Tato závislost je však vyžadována pro spuštění sestavení. Níže uvedený fragment kódu zobrazuje poskytnutou závislost oboru.
com.test MavenJava2 5.1.1 provided
# 4) Rozsah zkoušky
Závislost Maven, která má rozsah testu, se pro sestavování a provozování projektu nevyžaduje. V zásadě se používají pro kompilaci a spuštění testovacích případů jednotky. Níže uvedený fragment kódu ukazuje závislost rozsahu testu.
com.testing MavenJava3 1.0.2 test
# 5) Rozsah importu
Uvnitř pilníku je Správa závislostí část obsahuje import oboru. To znamená, že závislost má být změněna s efektivní skupinou závislostí poskytnutou v části dependencyManagement souboru pom. Níže uvedený fragment kódu zobrazuje závislost rozsahu importu.
com.testhelp MavenJava4 SNAP import pom
# 6) Zkompilovat rozsah
Výchozí je závislost Maven, která má rozsah kompilace. Tato závislost je nezbytná pro sestavení, testování a provoz projektu. To je většinou důležité k vyřešení zdrojového kódu Java s příkazy pro import. Níže uvedený fragment kódu ukazuje závislost rozsahu kompilace.
logging log 2.1.3 compile
Automatizace nasazení Maven
Nasazení projektu je kritická fáze a zahrnuje několik kroků definovaných níže:
- Kód vyvinutý pro kontrolu v úložišti.
- Zdrojový kód ke stažení z úložiště.
- Kompilace a sestavení aplikace a generování souborů JAR nebo WAR.
- Umístění identifikovaných souborů JAR nebo WAR do známého síťového umístění.
- Načtěte soubory JAR nebo WAR.
- Umístěte stažené soubory JAR nebo WAR na cílový server.
- Nové číslo verze aplikace a datum, které má být aktualizováno v dokumentaci.
Výše uvedené kroky následuje každý člen týmů zapojených do projektu. Z výše uvedených kroků, pokud někdo chybí nebo něco není správně provedeno, pak to má za následek selhání sestavení a nasazení . Takže mezi tím, pokud existují nějaké chyby, je třeba je opravit automaticky.
Maven se řídí metodou automatizace nasazení, aby bylo nasazení automatické a robustní. Toho je dosaženo kombinací níže uvedených procesů:
- Budování a vydání projektu, o který se postará Maven.
- Zdrojový kód, který má být spravován subverzí a úložištěm zdrojového kódu.
- Promítejte binární soubory, které se postarají o vzdáleného správce úložiště.
O automatizovaný proces sestavení a vydání Maven se stará plug-in Maven Release. Soubor pom.xml by měl být aktualizován, jak je znázorněno níže.
Níže uvedený kód je určen pro projekt com.softwaretestHelp pom.xml
odebrání prvků z pole java
4.0.0 com.softwaretestHelp TestApplication war 2.0 WebTest Maven Java http://maven.apache.org http://www.svn.com scm:svn:http://localhost:8080/svn/jrepo/trunk/Framework scm:svn:testing/test@localhost:8080:common_core_api:1101:code SampleTest-Web-Release Release repository http://localhost:8082/nexus/content/repositories/SampleTest-Web-Release org.apache.maven.plugins maven-release-plugin 2.0-beta-9 false deploy (SampleTest-Web- checkin) junit junit 3.9 test
Hlavní funkce ve výše uvedeném souboru pom.xml jsou uvedeny níže:
- SCM : Umístění SVN (kde je zdrojový kód přítomen) je konfigurováno SCM.
- Úložiště : Toto je umístění souborů JAR nebo WAR nebo EAR nebo jakéhokoli jiného artefaktu projektu po úspěšném dokončení stavby projektu.
- Zapojit : Automatizace nasazení prováděná vydávacím modulem Maven.
Maven Release Plugin
Vydání pluginu Maven provádí následující činnosti:
- uvolnění MVN: čisté - Vyčistí pracovní prostor předchozího sestavení před příchodem budoucího sestavení.
- uvolnění MVN: vrácení zpět - V případě selhání předchozí verze se vrátí zpět do pracovního prostoru.
- vydání MVN: připravit - Ověří, zda v souborech došlo k nepotvrzeným změnám, či nikoli. Také zkontroluje závislosti snímku a aktualizuje číslo verze aplikace. Upravuje pom na SCM. Postará se o provedení testovacího případu a provede finální kód pro SCM. Provádí značkování kódu v podvracení. Nakonec je pomocí tohoto pluginu číslo verze zvýšeno a připojeno k SNAPSHOT pro další vydání v budoucnu.
- vydání MVN: provést - Zkontroluje kód přítomný v úložišti a poté spustí cíle sestavení Maven k nasazení artefaktu sestavení do úložiště.
Nakonec musíme spustit následující příkaz pro sestavení projektu:
mvn release: prepare
Po úspěšném dokončení sestavení spusťte následující příkaz:
mvn release: perform
Nyní se soubor WAR nahraje do úložiště.
Závěr
Doufáme, že hlavní části integrace Maven s Eclipse, její integrace s TestNG, profily Maven, rozsah závislostí Maven a automatizace nasazení Maven by nyní měly být srozumitelné. Také jsme zde diskutovali většinu oborů závislostí.
U procesu nasazení Maven jsme podrobně prozkoumali všechny kroky a vysvětlili některé z vydacích modulů Maven. Přečtěte si témata a postupně pochopíte skutečnou podstatu používání Mavenu v naší práci.
Budeme pokračovat v seriálu a shromažďovat znalosti o integraci Maven Jenkins, otázky týkající se rozhovorů s Mavenem atd. V našich připravovaných tutoriálech.
=> Podívejte se na VŠECHNY návody Maven zde.
Doporučené čtení
- Co je Maven - výukový program Maven pro začátečníky
- Výukové programy pro zatmění do hloubky pro začátečníky
- Výukový program TestNG: Úvod do TestNG Framework
- Výukový program Eclipse: Integrace TestNG do prostředí Eclipse Java IDE
- Konfigurace Maven pomocí Eclipse Java IDE
- Gradle Vs Maven A Maven Pluginy
- Maven s dokumentací Jenkins & Maven pro projekty
- Integrace Maven s TestNg pomocí pluginu Maven Surefire