Maven Multi-Modul: aggregieren gemeinsame Abhängigkeiten in einem einzigen?

8

Ich habe nach einer solchen Frage gesucht, ohne etwas zu finden, also gehe ich hier hin.

Ich habe ein Multi-Modul-Maven-Projekt. Mehrere Module erben alle dasselbe Parent, wobei gemeinsame Abhängigkeiten definiert sind. Unter ihnen gibt es ein eigenes Modul, ein 'gemeinsames', in dem einige allgemeine Funktionen implementiert sind.

Meine Frage ist: Was wäre eine bessere Methode für häufige Abhängigkeiten: Definieren Sie alle explizit im Elternteil, wie ich es derzeit tue? Oder definieren Sie sie in einem "gemeinsamen" Modul, auf das sich andere Module beziehen, und verlassen Sie sich dann auf Transitivität (wie ein Single-Entry-Point für gemeinsame Abhängigkeiten)?

    
Eleaar 22.05.2011, 08:08
quelle

2 Antworten

14

Am besten verwenden Sie das dependencyManagement-Tag in Ihrem Eltern-Pom, um Ihre Abhängigkeiten und ihre Versionen zu definieren und dann auf diese Abhängigkeiten in Ihren Untermodulen zu verweisen, wo dies erforderlich ist. Wenn Sie in Ihrem Projekt andere Untermodule benötigen (dh Ihr gemeinsames Submodul von einem anderen Submodul), werden die Abhängigkeiten transitiv gefunden. Zum Beispiel:

In Ihrem Elternteil:

%Vor%

In Ihrem allgemeinen POM (beachten Sie, dass es keine Version oder Bereich gibt):

%Vor%

Und dann können Sie einfach Ihr übliches Submodul von anderen Submodulen referenzieren, wo Sie bereits sind.

    
Caps 26.07.2011, 16:57
quelle
0

Ich kann zwei sinnvolle Optionen sehen:

  • Deklarieren Sie gemeinsame Abhängigkeiten in einem gemeinsamen Modul
  • Verwenden Sie den Importbereich

Die zweite Option ist nützlich, wenn mehrere Module von demselben großen Komponentenstapel mit einer Anzahl von Abhängigkeiten abhängig sind.

    
Eugene Kuleshov 26.07.2011 17:16
quelle