what is maven maven tutorial
Deze inleidende Maven-zelfstudie legt uit wat Maven is, waarom Maven wordt gebruikt, de definitie, basisterminologieën, soorten Maven-repository, enz.:
In deze zelfstudie zullen we Maven, de definitie, het overzicht, de operationele stappen op Maven verkennen en de basisterminologieën op Maven, de activiteiten die door Maven worden uitgevoerd en de typen Maven-repositories in detail begrijpen.
Laten we beginnen!!
Lijst met tutorials in deze Maven-serie
Tutorial # 1: Wat is Maven - Maven-zelfstudie voor beginners (Deze tutorial)
Tutorial # 2: Wat zijn POM (Project Object Model) en Pom.Xml in Maven
Tutorial # 3: Gradle versus Maven en Maven-plug-ins
Tutorial # 4: Afhankelijkheid en integratie van Maven met Eclipse en TestNG
Tutorial # 5: Maven met Jenkins & Maven-documentatie voor projecten
Tutorial # 6: 31 Meest gestelde vragen en antwoorden over het Maven-interview
Wat je leert:
Wat is Maven
Maven is een build- en projectbeheertool die over het algemeen wordt gebruikt in frameworks die in Java zijn gebouwd. Het is ontwikkeld door Apache Software Foundation. Maven, een woord uit de Jiddische taal, betekent ‘verzamelaar van kennis’. Het werd geïntroduceerd om het proces van het triggeren te bouwen in het Jakarta Turbine Project.
Maven wordt bestuurd door het Project Object Model (pom) -bestand. Bij het werken met in Java ingebouwde frameworks hebben we vaak te maken met een aantal afhankelijkheden.
Voordat Maven in beeld kwam, moesten alle afhankelijkheden, die niets anders zijn dan JAR-bestanden, handmatig aan ons framework worden toegevoegd. We moesten ook zorgen voor de software-upgrade in ons project.
hoe u de beveiligingssleutel van de router kunt vinden
Maven zorgt ervoor dat JAR's en bibliotheken van projecten automatisch worden gedownload. Alleen de informatie met betrekking tot de versies van de software en het type afhankelijkheden moet worden beschreven in het pom .xml-bestand.
Maven kan projecten uitvoeren in Ruby, C # en andere talen. Het neemt de taak op zich om projecten, hun afhankelijkheden en documentatie te bouwen.
ANT, een andere tool die is ontwikkeld door Apache Software Foundation, wordt ook gebruikt voor het bouwen en implementeren van projecten. Maar Maven is geavanceerder dan ANT. Net als ANT heeft Maven het bouwproces eenvoudig gemaakt. Kortom, Maven heeft het leven van ontwikkelaars gemakkelijk gemaakt.
Waarom Maven gebruiken
Maven voert de onderstaande activiteiten uit:
- Repository om de afhankelijkheden op te halen.
- Met een vergelijkbare mappenstructuur in de hele organisatie.
- Integratie met Continuous Integration-tools zoals Jenkins.
- Plug-ins voor testuitvoering.
- Het geeft informatie over hoe de software / het project wordt ontwikkeld.
- Het bouwproces is eenvoudiger en consistent gemaakt.
- Biedt richtlijnen voor de best practices die in het project moeten worden gevolgd.
- Verbetert de projectprestaties.
- Gemakkelijk te verplaatsen naar nieuwe attributen van Maven.
- Integratie met versiebeheerprogramma's zoals Git.
Maven zorgt voor processen zoals releases, distributie, rapportage, builds, documentatie en SCM's. Maven maakt verbinding met de Maven Central-opslagplaats en laadt ze lokaal. Enkele van de IDE's die projectontwikkeling met Maven ondersteunen, zijn NetBeans, Eclipse, IntelliJ, enzovoort.
Maven moet in onze projecten worden gebruikt in de volgende scenario's:
- Als het project een groot aantal afhankelijkheden vereist.
- Als de versie van de afhankelijkheden regelmatig moet worden bijgewerkt.
- Als het project snelle documentatie nodig heeft, compileren en verpakken van de broncode in JAR- of ZIP-bestanden.
Operationele stappen van Maven
# 1) Eerst doorloopt Maven het POM .xml-bestand.
#twee) De afhankelijkheden worden in de lokale repository geladen.
# 3) Doorloopt de ingebouwde levenscycli van Maven zoals hieronder weergegeven:
- Standaard: Zorgt voor de inzet van het project.
- Schoon: Verwijdert eventuele fouten, schoont daarmee het project op en verwijdert het artefact dat is geproduceerd tijdens het vorige proces van de build.
- Site: Zorgt voor de documentatie van het project.
# 4) Elke ingebouwde cyclus kent verschillende fasen. Bijvoorbeeld standaard heeft drieëntwintig fasen terwijl schoon en de site heeft respectievelijk drie en vier fasen.
# 5) Elke Maven-cyclus doorloopt verschillende fasen waarin een bepaalde fase een specifiek doel heeft.
Enkele van de belangrijke fasen worden hieronder opgesomd:
- Valideren: Controleert of alle vereiste gegevens voor het voltooien van de build beschikbaar zijn.
- Compileren: De broncode is gecompileerd.
- Test- compileer: Testbroncode is gecompileerd.
- Test: Unit-testgevallen worden uitgevoerd.
- Pakket: De broncode wordt gecompileerd en verpakt in JAR- of ZIP-bestanden.
- Integratietest: Pakket wordt ingezet en als er problemen zijn, worden integratietestgevallen uitgevoerd.
- Installeer pakket: Het is geïnstalleerd in de lokale repository.
- Inzetten: Een kopie van het pakket is beschikbaar in de externe repository.
Deze fasen moeten op volgorde worden uitgevoerd. Ook als het inzetten fase, d.w.z. de eindfase van de Maven-cyclus moet worden uitgevoerd en vervolgens moeten alle voorgaande fasen van die cyclus met succes worden voltooid.
Vanaf de opdrachtprompt worden de fasen op de volgende manier uitgevoerd:
mvn bijvoorbeeld, mvn valideren
# 6) Een groep Maven-doelen vormt een fase. Net als de fasen van Maven, moet elk doel in een specifieke volgorde worden uitgevoerd.
Een doel heeft de volgende syntaxis:
Plugin: doel
Hier hebben we enkele van de fasen besproken, samen met de daaraan verbonden doelen:
- compiler: compileren (gebruikt in de compilatiefase)
- compiler: test (gebruikt in de fase van testcompilatie)
- surefire: test (gebruikt in de testfase)
- install: install (gebruikt in de installatiefase)
- pot: war (gebruikt in de fase van verpakking)
- war: war (gebruikt in de fase van verpakking)
De operationele stappen van hoe Maven werkt, worden hieronder schematisch weergegeven:
Terminologieën in Maven
- POM : Het staat voor Project Object Model. Het is een XML-bestand met de informatie over het project, de afhankelijkheden die aanwezig zijn in het project, de directory van het bronbestand, plug-in-informatie, enzovoort. Dit zijn de benodigde gegevens voor Maven om het project volledig op te bouwen. Maven leest het pom-bestand om al deze informatie te krijgen.
Maven-project in Eclipse IDE met een codefragment uit het POM XML-bestand wordt hieronder weergegeven.
- GroupId : Erkent ons project op unieke wijze uit alle projecten. GroupId is een onderdeel van het pom-bestand. Het wordt vaak gezegd als identiteit voor de groep projecten.
- Artefact-id : Een jar-bestand dat wordt geïmplementeerd in de Maven-repository. ArtifactId is een onderdeel van het pom-bestand. Het wordt vaak gezegd als een identiteit en naam van ons project.
- Versie : Specificeert de versie van de jar van het project. Versie is ook een onderdeel van het pom-bestand.
Zoals weergegeven in de afbeelding hierboven, kunnen we dat zien, en tags vormen het deel van de afhankelijkheden die voor het project zijn gedefinieerd.
- Maven Central Repository : Dit is de tijdelijke aanduiding waar jars, bibliotheken, plug-ins en configuratiegegevens die Maven nodig heeft voor het bouwen van het project, aanwezig zijn.
Als we Selenium-afhankelijkheden aan ons project willen toevoegen, hebben we het onderstaande codefragment nodig voor het pom-bestand.
Van de meerdere projecten die in de centrale opslagplaats van Maven worden gehesen, identificeert het Selenium met behulp van de groupId. Evenzo is ArtifactId als een subproject onder de groupId.
Bijvoorbeeld, Selenium-code wordt ondersteund door talen zoals Java, C #, enzovoort. Hier, uit de artefactId, is het duidelijk dat we alleen verbinding maken met de JAR's die zijn gekoppeld aan Java. Ook de versie van de JAR die aan het project moet worden gekoppeld, maakt ook deel uit van de afhankelijkheden.
We kunnen ook ons eigen project publiceren in de Maven-repository door deze drie stukjes informatie te verstrekken.
Maven-opslagplaats
Maven Repository kan uit drie typen bestaan:
- Lokale opslagplaats
- Externe opslagplaats
- Centrale opslagplaats
Zodra Maven de afhankelijkheden uit het POM-bestand heeft gelezen, doorzoekt het ze eerst in de lokale repository, vervolgens naar de centrale en uiteindelijk naar de externe repository. Als de afhankelijkheden niet worden gevonden in een van de drie opslagplaatsen, wordt de gebruiker op de hoogte gebracht met een fout en wordt het proces gestopt.
# 1) Maven Local Repository
De lokale repository bevindt zich in ons lokale systeem - meestal in .m2 (C: / Users / superdev /.m2) directory die zijn aanwezigheid toont zodra Maven in ons systeem is geïnstalleerd en we in staat zijn geweest om met succes een Maven-commando uit te voeren.
Het is ook mogelijk om deze locatie in settings.xml (MAVEN_HOME / conf /settings.xml) te wijzigen met behulp van de localRepository label.
Onderstaand xml-codefragment laat zien hoe u de locaties van de lokale repository kunt wijzigen:
# 2) Maven Central Repository
Centrale opslagplaats is ontwikkeld door de Apache Maven-groep en wordt gehost op internet. Dit wordt beschouwd als de centrale opslagplaats en bevat alle gemeenschappelijke bibliotheken. Net als een lokale repository kunnen we ook de locatie wijzigen waar ze standaard moeten worden gedownload door de setting.xml te wijzigen.
hoe dat bestand op mac te openen
# 3) Maven Remote Repository
De externe opslagplaats wordt ook op internet gehost. In sommige scenario's kan een bedrijf zijn eigen externe opslagplaats ontwikkelen en implementaties uitvoeren op hun privéprojecten. Deze zijn eigendom van dat specifieke bedrijf en kunnen alleen binnen het bedrijf worden gebruikt.
De externe repository heeft vergelijkbare werkpatronen als een centrale repository. Telkens wanneer er afhankelijkheden of configuraties van deze repositories vereist zijn, zullen deze eerst naar onze lokale versie worden gedownload en vervolgens worden gebruikt.
Een voorbeeld xml-code voor een externe repository met de id en url wordt hieronder getoond.
Gevolgtrekking
We hopen dat je een duidelijk idee hebt van wat maven is, waarom we Maven gebruiken, operationele stappen op Maven, Maven-cycli, fasen, doelen, basisterminologieën op Maven en de soorten Maven-repositories.
In onze volgende tutorial zullen we onderzoeken hoe we een project kunnen bouwen in Maven, een omgeving kunnen opzetten voor Maven en vele andere gerelateerde onderwerpen.
Aanbevolen literatuur
- Integratie van Maven met TestNg met behulp van de Maven Surefire-plug-in
- AWS CodeBuild-zelfstudie: code extraheren uit Maven Build
- Maven configureren met Eclipse Java IDE
- Wat zijn POM (Project Object Model) en pom.xml in Maven
- Gradle versus Maven en Maven-plug-ins
- Maven met Jenkins & Maven-documentatie voor projecten
- 31 Meest gestelde vragen en antwoorden over het Maven-interview
- Afhankelijkheid en integratie van Maven met Eclipse en TestNG