Warum ein Maven-Projekt in Submodules zerlegen?
Frage
Was sind die wichtigsten Gründe, um ein Maven-Projekt in Submodule zu zerlegen?
Lösung
Suchen Sie mehr als die Vorteile der Modularisierung? Die Submodule sollten idealerweise ein einzelnes Konzept/eine einzelne Funktion darstellen, damit sie funktional kohäsiv sind.
Andere Tipps
- POM -Datei -Erbschaft Sie können mit den und Abschnitten der Stammpoms konsistente Versionsnummern und Konfigurationen für alle untergeordneten Projekte aufbewahren. Wenn ich also ein Aggregator-Projekt habe, bei dem 300 Projekte aufgeführt sind, alles, was Apache Commons-io verwendet, und ich möchte sie alle die neueste Version von Commons-io aktualisieren, kann ich die Version im Abschnitt Abhängigkeitsmanagement des Stammpoms nur ändern. Keines der Kinderprojekte muss eine Version angeben.
- Erstellen Sie Profile im obigen Beispiel: Wenn ich 300 Sub-Projekte habe, arbeitet ein einzelner Entwickler wahrscheinlich nicht regelmäßig an allen (oder sogar vielen) der 300 Unterprojekte. Sie können ein Build -Profil erstellen, das nur die Module angibt, an denen Sie regelmäßig arbeiten. Wenn Sie einen kontinuierlichen Integrationsserver haben, der Artefakte für ein Artefakt -Repository bereitstellt, erhalten Sie alle Änderungen, die die Entwickler in Ihrem Team vornehmen, ohne zu müssen Bauen Sie alle 300 Module.
- Allgemeine Organisation/Klarheit
Während ich auf eine Antwort auf meinen Kommentar wartete.
Ein Grund, ein Java EE -basierter Maven -Projekt in Submodule aufzuteilen, ist, dass Sie das Glas/RAR/Krieg/Ohr/was auch immer unabhängig voneinander bauen können.
Für reguläre Java-Apps können Sie die Funktionalität in separate Gläser aufteilen, jeder von diesen könnte im Rahmen des Gesamtprojekts ein Submodul sein und sie können sie erneut unabhängig erstellen, separate Ziele/Phasen/Berichte usw. führen usw.