maven dependency integration with eclipse
I denne vejledning diskuterer vi integrationen af Maven med Eclipse og TestNG, Maven Dependency Scope og Maven Deployment Automation i detaljer:
I den foregående vejledning diskuterede vi sammenligningen mellem Gradle vs Maven og Maven Plugins. Denne vejledning forklarer, hvordan man integrerer Maven med andre værktøjer, Maven-afhængighed og Maven-implementering.
hvordan man implementerer dobbeltkoblet liste i java
Lad os komme igang!
=> Besøg her for den eksklusive Maven Training Tutorial Series.
Hvad du vil lære:
- Integration af Maven med formørkelse
- Integration af Maven med TestNG
- Maven afhængighedsomfang
- Maven Deployment Automation
- Maven Release Plugin
- Konklusion
- Anbefalet læsning
Integration af Maven med formørkelse
Hvordan man integrerer Maven med Eclipse er allerede blevet diskuteret i dybden om dette side
I visse scenarier, hvor vi bygger et Maven-projekt fra kommandoprompten, og vi er nødt til at bringe dette projekt til Eclipse, skal følgende trin udføres.
# 1) Naviger til placeringen af pom-filen til Maven-projektet. Kør nedenstående kommando.
mvn-formørkelse: formørkelse
# 2). Klassesti og .projekt oprettes på stedet for Maven-projektet.
Kontroller, om Maven-pluginet allerede findes i formørkelsen fra Windows => Indstillinger , Maven burde være til stede der. Alle de nuværende Eclipse-versioner har Maven-plugins som standard, og hvis det ikke er der, kan vi få det fra her .
# 3) For at få Maven og Eclipse til at fungere sammen skal du importere Maven-projektet fra filen. Vælg derefter Eksisterende Maven-projekt.
# 4) Gennemse placeringen af projektet og fortsæt.
Billedet afbildet ovenfor viser Maven-projektet importeret til Eclipse.
Integration af Maven med TestNG
Sådan integreres Maven med TestNG er blevet diskuteret dybtgående på nedenstående side.
=> Integration af Maven med TestNg ved hjælp af Maven Surefire Plugin
Mens vi har integreret Maven med TestNG i vores projekt, kan der være situationer, hvor vores projekt har mere end én Testng xml-filer. For eksempel, hele funktionerne til regressionssuite er beskrevet i den ene testng.xml og sanity test-tilfælde er beskrevet i den anden testng.xml-fil.
I en situation som denne er vi nødt til at bruge profil koncept i Maven. I pom-filen skal vi definere profilerne. Hver er en del af mærket og har en tilknytning til det.
En pom.xml-fil med profilkodestykke er angivet nedenfor:
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
Bemærk, at vi har to profiler ovenfor, beskrevet nedenfor, og hver profil har et id, der er knyttet til det. For eksempel, Regression og Fornuft også under suiteXmlFiles definerede vi navnet på Testng xml-filen svarende til id ( testngRegression.xml og testngSanity.xml ).
forskel mellem sort boks test og hvid boks test
Således har vi to profiler her, og vi kan kontrollere hver Testng-fil ved hjælp af en enkelt pom-fil.
For at udløse en testtilstand for hver Testng-fil direkte fra kommandoprompten skal vi flytte til projektmappen og køre følgende kommando.
mvn test –PRegression
Når dette er udført, søger Maven i profilen med id'et Regression og det tilsvarende testngRegression.xml fil. Således bliver kun de involverede tests udført.
Tilsvarende er kommandoen for en profil med id Sanity:
mvn test –PSanity
Her er testngSanity.xml -fil bruges til at bestemme de testsager, der skal udføres. For at udløse et bestemt sæt testsager behøver vi ikke ændre TestNG-filnavnet i pom, snarere kan det let opnås ved at opretholde separate TestNG-filer.
I pom-filen kan vi kortlægge disse filer og endelig køre dem ved hjælp af profiler i Maven fra kommandoprompten.
Maven afhængighedsomfang
Maven har i alt seks anvendelsesområder som angivet nedenfor.
- Stillet til rådighed
- Prøve
- System
- Importere
- Udarbejde
- Kørselstid
# 1) Runtime Scope
Maven-afhængighed har et omfang som runtime og bruges ikke til build-formål. Det udgør klassesti til kørsel og test af projektet. Nedenstående kodestykke viser en afhængighed af runtime-omfang.
com.softwaretesting MavenJava 2.3 runtime
# 2) Systemomfang
Maven-afhængighed med omfang som et system ligner det angivne omfang. Systemafhængigheder kan ikke downloades fra fjernlageret og findes normalt i projektets mapper. Nedenstående kodestykke viser en afhængighed af systemomfanget.
com.software MavenJava1 system 3.0 ${dir}warWEB-INFlibdep.jar
# 3) Leveret omfang
Maven-afhængighed, der har det anvendte omfang, kræves til bygning og test af projekterne. Det anbefales ikke at eksportere denne afhængighed, da de er tilgængelige i løbetiden. Denne afhængighed er dog nødvendig for at køre build. Nedenstående kodestykke viser en angivet omfangsafhængighed.
com.test MavenJava2 5.1.1 provided
# 4) Testomfang
Maven-afhængighed, der har et omfang af testen, er ikke påkrævet for opbygningen og driften af projektet. De bruges hovedsageligt til at kompilere og køre enhedstestsagerne. Nedenstående kodestykke viser en testomfangsafhængighed.
com.testing MavenJava3 1.0.2 test
# 5) Importomfang
Inde i pom-filen er afhængighedLedelse sektion indeholder omfangsimport. Dette betyder den afhængighed, der skal ændres med den effektive gruppe af afhængigheder, der findes i afsnittet dependencyManagement i pom-filen. Nedenstående kodestykke viser en importomfangsafhængighed.
com.testhelp MavenJava4 SNAP import pom
# 6) Kompilér omfang
Maven-afhængighed, der har et kompilationsomfang, er standard. Denne afhængighed er afgørende for opbygning, test og drift af projektet. Dette er for det meste vigtigt for at løse Java-kildekode med importerklæringer. Nedenstående kodestykke viser en kompilitetsafhængighedsafhængighed.
logging log 2.1.3 compile
Maven Deployment Automation
Projektinstallation er en kritisk fase og involverer flere trin defineret som angivet nedenfor:
- Koden udviklet til at blive kontrolleret i lageret.
- Kildekode, der skal downloades fra lageret.
- Kompilering og opbygning af applikationen og generering af JAR- eller WAR-filer.
- Anbringelse af de identificerede JAR- eller WAR-filer på en velkendt netværksplacering.
- Indlæs JAR- eller WAR-filerne.
- Implementér de downloadede JAR- eller WAR-filer til målserveren.
- Det nye versionsnummer på applikationen og datoen, der skal opdateres i dokumentationen.
Ovennævnte trin følges af hvert medlem af de teams, der er involveret i projektet. Ud af de ovennævnte trin, hvis nogen savnes eller noget ikke gøres ordentligt, resulterer det i fejl ved opbygning og implementering . Så imellem, hvis der er fejl, skal de rettes automatisk.
Maven følger implementeringsautomatiseringsmetoden for at gøre implementeringen automatisk og robust. Dette opnås ved kombinationen af nedenstående processer:
- Opbygning og frigivelse af det projekt, der skal håndteres af Maven.
- Kildekode, der skal styres af subversion og kildekodedepot.
- Projekt binære filer til at tage sig af den eksterne lageradministrator.
Mavens automatiske opbygnings- og frigivelsesproces håndteres af Maven Release-plugin. Pom.xml-filen skal opdateres som vist nedenfor.
Nedenstående kode er til com.softwaretestHelp-projektet pom.xml
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
De fremtrædende funktioner i ovenstående pom.xml-fil er angivet nedenfor:
- SCM : Placeringen af SVN (hvor kildekoden findes) er konfigureret af SCM.
- Opbevaringssteder : Dette er placeringen af JAR- eller WAR- eller EAR-filerne eller enhver anden projektartefakt efter den vellykkede færdiggørelse af bygningen.
- Plug-in : Automatisering af implementering udført af Maven-frigivelsesplugin.
Maven Release Plugin
Maven release plugin udfører følgende aktiviteter:
- frigivelse af mvn: rengør - Det renser arbejdsområdet for den forrige build inden ankomsten af den fremtidige build.
- frigivelse af mvn: tilbageførsel - I tilfælde af fejl i den tidligere build, tilbageføres den til arbejdsområdet.
- frigivelse af mvn: forbered - Det kontrollerer, om der er uforpligtende ændringer i filer eller ej. Kontrollerer også afhængighed af snapshot og opdaterer applikationsversionsnummeret. Det ændrer pom til SCM. Det tager sig af eksekveringen af testsagen og forpligter den endelige kode til SCM. Det udfører mærkning af koden i subversionen. Endelig er versionsnummeret steget og knyttet til SNAPSHOT til andre udgivelser i fremtiden af dette plugin.
- frigivelse af mvn: udfør - Det kontrollerer koden, der findes i arkivet, og kører derefter Maven build-mål for at implementere build-artefakten til lageret.
Endelig er vi nødt til at køre kommandoen nedenfor for at opbygge projektet:
mvn release: prepare
Når den vellykkede afslutning af build er færdig, skal du køre følgende kommando:
mvn release: perform
Nu uploades WAR-filen til lageret.
Konklusion
Vi håber, at store dele af Maven-integration med Eclipse, dets integration med TestNG, Maven-profiler, afhængighedsomfang af Maven og implementeringsautomatisering af Maven skal være forståelig nu. Vi har også diskuteret de fleste af omfanget af afhængighederne her.
Til Maven-implementeringsprocessen udforskede vi alle trinene i dybden og forklarede nogle af Maven-frigivelses plugins. Læs emnerne og gradvist vil du forstå den virkelige essens ved at bruge Maven i vores arbejde.
for at øge sikkerheden på din virksomheds interne netværk
Vi fortsætter med serien og samler viden om Maven Jenkins Integration, Maven interviewspørgsmål osv. I vores kommende tutorials.
=> Tjek ALLE Maven-vejledninger her.
Anbefalet læsning
- Hvad er Maven - Maven-tutorial til begyndere
- Dybdegående formørkelsesvejledninger til begyndere
- TestNG Tutorial: Introduktion til TestNG Framework
- Eclipse Tutorial: Integrering af TestNG i Eclipse Java IDE
- Konfiguration af Maven med Eclipse Java IDE
- Gradle Vs Maven And Maven Plugins
- Maven With Jenkins & Maven Documentation For Projects
- Integration af Maven med TestNg ved hjælp af Maven Surefire Plugin