Ich habe ein übergeordnetes POM in einem Maven-Projekt mit dieser Struktur:
parent
|
---------------
| |
child1 child2
Ich möchte das POM der installieren “Elternteil” im lokalen REPO zu ermöglichen Kind1 Nehmen Sie einige Änderungen vor, die ich in der Abhängigkeitsverwaltung vorgenommen habe, aber Ich kann keine normale “saubere Installation” durchführen Weil “kind2” ist kaputt und lässt sich nicht aufbauen.
Was ist der richtige Weg, dies mit maven zu tun (außer zum Eltern-Pom zu gehen und die “kind2” Modul).
Verwenden Sie die Option ‘-N’ im mvn-Befehl.
Aus mvn -h
:
-N,–non-recursive Keine Rekursion in Unterprojekte
Während Guillaume in der Tat Recht hat und das die richtige Option ist, würde ich persönlich empfehlen, Ihr Elternteil als separates Modul beizubehalten.
Ich finde den besten Ansatz für die Vererbung wie folgt:
aggregator
|- module1/ (extends parent)
| |- pom.xml
|- module2/ (extends parent)
| |- pom.xml
|- parent/
| |- pom.xml
|- pom.xml
Auf diese Weise können Sie immer nur das übergeordnete Element mit installieren mvn clean install
ohne Zusatzoptionen.
Sie können das übergeordnete Element auch außerhalb des Aggregators haben, sodass Sie es zwischen mehreren Projekten wiederverwenden können.
Es gibt zahlreiche Vorteile, den Elternteil und den Aggregator als zwei getrennte Dinge zu behalten. Aber am Ende wählen Sie, was für Ihr Projekt/Ihre Umgebung am besten ist.