Frage zum Konfigurationsmanagement mit Maven

DarthShader

Erfahrenes Mitglied
Hallo,

ich habe eine Frage zum Konfigurations-/Projektmanagement mit Maven. Bisher setze ich es noch nicht ein, möchte dies aber in Zukunft tun. Meine Frage ist folgende:

Ich habe ein Projekt, welches aus mehreren einzelnen Eclipse-Projekte (Client, Server etc.) in einem Workspace besteht. Nun gibt es auch noch ein Eclipse-Projekt "Common", welches eine Art Funktions-Bibliothek für Utility-Klassen und allgemeinen APIs ist, die nicht speziell nur für das Softwareprojekt da sind, sondern eher eine allgmeine Bibliothek darstellt, die für von verschiedenen Softwareprojekten verwendet werden kann.

Nun steht demnächst das zweite Projekt an, und ich würde gerne wissen, ob mir Maven dabei helfen kann, dass ich das "common" Projekt separat verwalten/weiter entwickeln kann, dieses aber von 2 verschiedenen anderen Projekten verwendet wird. Kann man das "common" projekt z.B. als eigenes Maven-Projekt anlegen, wobei dieses dann in einem lokalen Repository landet und die anderen Projekte immer die aktuellste Version vom "common" Projekt verwenden?

Wie gesagt, ich muss mich erst noch in Maven einarbeiten, würde aber gerne wissen, ob es auch solch einen Anwendungsfall abdeckt.


Vielen Dank!
 
Nach meinem Wissensstand:

Du machst eine all mighty parent POM (ein "Projekt" was nur diese Pom enthält). Diese enthält Grundlegende Einstellungen, die für all deine Maven poms gültig sein sollen. Zum Beispiel wohin die Artifacts(jars) hochgeladen(deployed) werden soll (DistributionManagement), die JUnit-Version, dass alle Sourcen UTF-8 sind. Halt alles was für alle deine Projekte gleich ist und sein wird :D

Bei den Abhängigkeiten musst du allerdings die genaue Versionsnummer eintragen. Wenn du aber 100% sicher bist, dass diese Abhängigkeit immer verwendet werden soll, kannst du es auch in der parent pom eintragen.

Bei Dingen, die eigentlich zusammen gehören. Zum Beispiel webservice, da hat man Server, client, API. Das kann man als einzelne Subproject in einem bauen.

Für eclipse gibt es auch das zu empfehlende maven plugin m2eclipse von sonatype, die stellen auch einen repository-Server namens Nexus zur Verfügung, den man in seiner eigenen Firma aufstellen kann.

Des Weiteren sollte man auch seine Ordnerstruktur, der von maven empfohlene anpassen.
 
Zuletzt bearbeitet:
Hallo,

vielen Dank für Deine Antwort! Sorry, dass ich so spät antworte, ich war ein paar Tage beruflich unterwegs.

Die Punkte, die Du aufgeführt hast, haben mir schon geholfen. Sehr neu für mich ist z.B., dass man eine extra Software braucht, um ein lokales Maven Repository aufzubauen, bisher dachte ich immer, dass wäre in der Maven Konfiguration nur ein bestimmtes Verzeichnis.

Ich denke der nächste Schritt wird einfach sein, mir die Dokumentation zu schnappen und Maven praktisch auszuprobieren, sicher ist ein gutes Buch über die Thematik auch sinnvoll.


Nochmals danke!
 
Zurück