LEARNTEK
Wat is Maven?
Maven is een automation and management tool ontwikkeld door Apache Software Foundation. Het werd in eerste instantie uitgebracht op 13 juli 2004. In het Jiddisch is de Betekenis van Maven “accumulator van kennis”. Maven is een project management en begrip tool die ontwikkelaars een complete build life-cycle framework biedt. Ontwikkelingsteam kan de bouwinfrastructuur van het project in bijna geen tijd automatiseren, aangezien Maven een standaard directory-lay-out en een standaard bouwlevenscyclus gebruikt. Maven is een krachtige project management tool die is gebaseerd op POM (project object model). Het wordt gebruikt voor projecten bouwen, afhankelijkheid en documentatie. Het vereenvoudigt het bouwproces zoals ANT. Maar het is te ver gevorderd dan mier. Maven bevat projectinformatie en configuratie-informatie voor Maven zoals bouwdirectory, brondirectory, afhankelijkheid, testbrondirectory, doelen, plugins, enz.
Wat zijn de belangrijkste kenmerken van Maven?
- Eenvoudige projectorganisatie die volgt op de beste praktijken
- Consistent gebruik in alle projecten
- Eenvoudig op te bouwen projecten in overbodige details zijn verborgen
- Uniform te bouwen systeem, waar een standaard strategie is gevolgd
- Afhankelijkheid management, inclusief het automatisch bijwerken
- Kwaliteit (project) informatie, zoals afhankelijkheid lijsten, kruis verwezen bronnen en unit-test rapporten
- beheer van Afhankelijkheid, waaronder automatische updates en afhankelijkheid sluitingen
- De mogelijkheid om meerdere projecten gelijktijdig
- Dynamische downloaden van noodzakelijke Java bibliotheken en plug-ins van Maven repositories
- Model-gebaseerde builds − Maven is in staat om een aantal projecten te bouwen in vooraf gedefinieerde uitvoertypen zoals jar, war, metadata
- coherente site met projectinformatie − met behulp van dezelfde metadata als per het bouwproces, maven is in staat om een website en een PDF te genereren inclusief volledige documentatie
- achterwaartse compatibiliteit – u kunt eenvoudig de meerdere modules van een project porteren naar Maven 3 van oudere versies van Maven. Het kan de oudere versies ook ondersteunen
- Parallel builds-het analyseert de projectafhankelijkheidsgrafiek en stelt u in staat om schema modules parallel te bouwen. Hiermee kunt u de prestatieverbeteringen van 20-50% bereiken.
Wat zijn de kernbegrippen van Maven?
- Build Plugins: Build plugins worden gebruikt om een specifiek doel uit te voeren. U kunt een plugin toevoegen aan het pom-bestand. Maven heeft een aantal standaard plugins die u kunt gebruiken, en u kunt ook uw eigen in Java implementeren.
- bouwprofielen: Build profiles een set van configuratie waarden waarmee u uw project te bouwen met behulp van verschillende configuraties. Het kan bijvoorbeeld nodig zijn om uw project op te bouwen voor uw lokale computer, voor ontwikkeling en testen. Om verschillende builds kunt u verschillende build profielen toe te voegen aan uw POM-bestanden met behulp van de profielen elementen en worden geactiveerd in de verschillende manieren.
- POM-bestanden: Project Object Model (Pom) – bestanden zijn XML-bestanden die informatie bevatten met betrekking tot het project en configuratie-informatie zoals afhankelijkheden, bronmap, plugin, en doelen, enz. gebruikt door Maven om het project te bouwen. Wanneer je een Maven commando moet uitvoeren geef je maven een POM bestand om de commando ‘ s uit te voeren. Maven leest pom.xml-bestand om zijn configuratie en bewerkingen uit te voeren.
- afhankelijkheden en Repositories: afhankelijkheden zijn externe Java-bibliotheken die vereist zijn voor het Project en repositories zijn mappen van packed JAR-bestanden. De lokale repository is slechts een directory op je computer harde schijf. Als de afhankelijkheden niet gevonden worden in de lokale Maven repository, downloadt Maven ze van een centrale Maven repository en plaatst ze in je lokale repository.
- Bouwlevenscycli, fasen en doelen: een bouwlevenscyclus bestaat uit een opeenvolging van bouwfasen, en elke bouwfase bestaat uit een opeenvolging van doelen. Maven command is de naam van een levenscyclus, fase of doel. Als een levenscyclus wordt uitgevoerd door het geven van Maven Commando, worden alle bouwfasen in die levenscyclus ook uitgevoerd. Als een build-fase wordt uitgevoerd, worden alle build-fasen daarvoor in de gedefinieerde volgorde ook uitgevoerd.
Wat doet maven?
hieronder staat de taak die door Maven wordt uitgevoerd:
- We kunnen eenvoudig een project bouwen met maven.
- We kunnen potten en andere afhankelijkheden van het project eenvoudig toevoegen met behulp van de hulp van maven.
- Maven biedt projectinformatie (log document, afhankelijkheidslijst, unit test rapporten etc.)
- Maven is zeer nuttig voor een project tijdens het updaten van de centrale repository van JAR ‘ s en andere afhankelijkheden.
- met behulp van Maven kunnen we een willekeurig aantal projecten bouwen in uitvoertypes zoals de JAR, WAR etc zonder scripting te doen.
- met maven kunnen we ons project eenvoudig integreren met het source control systeem (zoals Subversion of Git).
voordelen van het gebruik van Maven:
- Maven kan alle afhankelijkheden die nodig zijn voor het project automatisch toevoegen door het pom-bestand te lezen.
- men kan hun project eenvoudig bouwen naar jar, war etc. volgens hun eisen met behulp van Maven.
- Maven maakt het eenvoudig om een project te starten in verschillende omgevingen en men hoeft niet om te gaan met de afhankelijkheden injectie, builds, processing, etc.
- het toevoegen van een nieuwe afhankelijkheid is heel eenvoudig. Men moet gewoon de afhankelijkheidscode in pom-bestand schrijven.
nadelen van het gebruik van Maven:
- Maven heeft de Maven installatie in het systeem nodig voor het werken en maven plugin voor de ide.
- als de Maven-code voor een bestaande afhankelijkheid niet beschikbaar is, kan men die afhankelijkheid niet toevoegen met maven.
samenvatting:
Maven is een automatiserings-en managementtool. Maven is een populaire open source build tool voor enterprise Java-projecten, ontworpen om veel van het harde werk uit het bouwproces te nemen. Maven gebruikt een declaratieve aanpak, waarbij de projectstructuur en inhoud worden beschreven, in plaats van de taakgebaseerde aanpak die wordt gebruikt in Ant of in traditionele make-bestanden, bijvoorbeeld. Dit helpt bij het afdwingen van bedrijfsbrede ontwikkelingsstandaarden en vermindert de tijd die nodig is om scripts te schrijven en te onderhouden. Wanneer u Maven gebruikt, beschrijft u uw project met behulp van een goed gedefinieerd projectobjectmodel, Maven kan dan transversale logica toepassen vanuit een set gedeelde (of aangepaste) plugins. In het geval van meerdere ontwikkelteams omgeving, Maven kan de manier om te werken volgens normen in een zeer korte tijd. Aangezien de meeste projectopstellingen eenvoudig en herbruikbaar zijn, maakt Maven het leven van ontwikkelaar gemakkelijk tijdens het maken van rapporten, controles, bouwen en testen van automatiseringsopstellingen.