Repository-Layout für große Maven-Projekte
Ich habe eine große Anwendung (~ 50 Module) mit einer Struktur ähnlich der folgenden:
AnwendungKommunikationsmoduleFarbkommunikationsmodulSSN-Kommunikationsmodulusw. KommunikationsmodulRouter-ModulServicemoduleVoting-Service-ModulWebinterface-Modul zur AbstimmungVote Collector Submodul zur Abstimmungetc. zur AbstimmungQuiz-Servicemodulusw. ModulIch möchte die Anwendung in Maven und Subversion importieren. Nach einigen Recherchen stellte ich fest, dass zwei praktische Ansätze dafür existieren.
Einer verwendet eine Baumstruktur wie der vorherige. Der Nachteil dieser Struktur ist, dass Sie eine Menge Tweaking / Hacks benötigen, damit das Multimodul-Reporting mit Maven funktioniert. Ein weiterer Nachteil ist, dass in Subversion der Standardansatz für Trunk / Tags / Zweige dem Repository noch mehr Komplexität verleiht.
Der andere Ansatz verwendet eine flache Struktur, bei der es nur ein übergeordnetes Projekt gibt und alle Module, Submodule und Teile der Submodule ein direktes untergeordnetes Element des übergeordneten Projekts sind. Dieser Ansatz eignet sich gut für die Berichterstellung und ist in Subversion einfacher. Ich habe jedoch das Gefühl, dass ich auf diese Weise ein wenig an Struktur verliere.
Welchen Weg würden Sie langfristig wählen und warum?