Einführung in MAVEN

Maven ist ein Build-Tool, welches mit dem Ziel entwickelt wurde, Entwicklungsprojekte von Binärdateien zu befreien. Ohne Maven ist es so, dass in einem Projekt benötigte JAR-Dateien (Externe Bibliotheken: selbst entwickelt oder von Drittanbietern) eingebunden werden und das Projekt aufblasen (Größe). Diese binären Dateien werden auch im Quellcodeverwaltungssystem (Subversion, etc) mitgeschleppt (Checkin/-out).

Verwendet man Maven in einem Projekt, dann muss das Projekt erstens gewissen Vorgaben (Ordnerstruktur, etc) erfüllen und zweitens Abhängigkeiten zu JAR in der POM.xml definieren. In der Standardkonfiguration von Maven schaut Maven im Repository nach, welches unter <Benutzerordner>/.m2/repository/ zu finden ist.

Man kann jetzt in zwei Stufen dieses Verhalten ändern (Voraussetzung es sind irgendwelche Abhängigkeiten in der POM.xml vorhanden):

  1. Man definiert in der POM.xml (des Projektes) weitere Repositories, in denen Maven nach benötigten JAR sucht.
  2. Man ändert das Standardverhalten von Maven (<Benutzerordner>/.m2/settings.xml) und macht Maven in der settings.xml Repositories bekannt, die Maven dann jedesmal mit dem Repository unter <Benutzerordner>/.m2/repository synchronisiert. Dh. Maven holt sich aus den angegebenen Repositorie die benötigten JAR in das Lokale Repository.

Für Schritt zwei gibt es im Internet bereits etliche solche Repositories, auf denen bereits wichtige JAR liegen. Gerade für selbstentwickelte JAR, die in mehreren Projekten verwendet werden sollen und auch weil man bestimmte JAR bestimmter Anbieter häufig verwendet, empfiehlt es sich, ein eigenes zentrales Repository anzulegen.