Installieren Sie das übergeordnete POM, ohne untergeordnete Module zu erstellen

Lesezeit: 2 Minuten

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).

Benutzer-Avatar
Guillaume Polet

Verwenden Sie die Option ‘-N’ im mvn-Befehl.

Aus mvn -h:

-N,–non-recursive Keine Rekursion in Unterprojekte

  • Die Option „-N“ oder „–non-recursive“ bedeutet, dass keine Rekursion in Unterprojekte erfolgt.

    – Stefan B.

    10. Juni 2012 um 12:51 Uhr

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.

  • Ich habe stundenlang mit diesem Problem gekämpft und festgestellt, dass einige Projekte auf diese Weise vorgehen, wie z. B. Apache Sling, JackRabbit und Artifactory.

    – Accuya

    24. September 2012 um 7:51 Uhr

  • Es isolierte die Vererbung von Maven-Modulen (Abhängigkeiten, Eigenschaften usw.) von der Batch-Erstellung (untergeordnete Module).

    – Donauseefahrer

    4. Juni 2013 um 11:23 Uhr

  • Wird dies als Best Practice angesehen? Irgendwelche Blogs oder andere zu diesem Ansatz?

    – Schlitten

    16. Juli 2013 um 16:25 Uhr

  • @ArtB Bist du in der Zwischenzeit über einen solchen Artikel gestolpert?

    – Tomislav Nakic-Alfirevic

    13. August 2014 um 14:51 Uhr

  • @MaximilianSchulz: Es gibt keine perfekte Welt, wie man so schön sagt… Dies ist nur eine Möglichkeit, es zu tun.

    – Karlsfeder

    9. November 2018 um 23:48 Uhr

1329730cookie-checkInstallieren Sie das übergeordnete POM, ohne untergeordnete Module zu erstellen

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy