Maven ist ein Java-Build-Tool zur Automatisierung von Kompilierung, Tests, Verpackung und Abhängigkeitsmanagement.
Repositories
kompilierte Artefakte, die als dependencies verwendet werden könne
zwei Typen:
local:
hier wird zuerst gesucht, falls nicht vorhanden, dann wird das remote repo befragt
typischerweise unter $HOME/.m2/repository
remote:
Hier wird gesucht, wenn gesuchte Dependency nicht im lokalen Repo vorhanden.
Gefundene Dependencies werden ins lokale Repo kopiert.
typischerweise in settings.xml oder oder pom.xml konfiguriert
Snapshot Repository
Für Versionen, die noch nicht released wurden
Änderungen können fortwährend deployed und eingebunden werden, ohne dass Versionsnummern von Dependencies angepasst werden müssen
Beispiel Versionsnummer: 1.0.1-SNAPSHOT
Release Repository
Zentrale Speicherung für stabile Artefakte
Unveränderlichkeit: Keine Änderungen nach Veröffentlichung
Eindeutige Versionsnummern
Beispiel Versionsnummer: 1.0.1 (Major.Minor.Patch)
Archetypes
Maven Archetypes sind Vorlagen, die bei der Erstellung von Java-Projektstrukturen helfen. Sie bieten vorgefertigte Projektstrukturen und Konfigurationen, um den Start von neuen Projekten zu beschleunigen und Best Practices zu fördern.