Frage

Ist es möglich, zu tun?

Die Umgebung: MULTI pom besteht aus 3 Modulen: mm1, mm2, mm3. Modul mm2 hat als Abhängigkeit mm1. Es ist möglich, Eltern pom ohne Fehler zu bauen.

Die Frage: Ist es möglich, einzelne Modul mm2 (das heißt, lief Maven aus mm2 Basisverzeichnis) ohne mm1 in lokale Repository Installation

bauen

Danke.

War es hilfreich?

Lösung

Ohne automatische Installation nicht, aber es ist möglich, nur gewählt Projekte zu bauen. Sie benötigen Multi-Modul bauen haben (ich nehme an, Sie tun). Im Reaktor-Modus müssen alle Befehle aus der Wurzel des Reaktors ausgeführt werden.

So in Ihrem Fall:

mvn reactor:make -Dmake.folders=mm2

In diesem Fall Sie mm2 Modul und Module von denen es abhängt (mm1).

bauen

Nützliche Links:

Von Buch Beispielen, die mir nur Projekt bauen bestehen und seine Abhängigkeit Projektmodell. Andere Projekte sind unberührt mit mvn reactor:make -Dmake.folders=sample-persist

alt text http: // www .sonatype.com / Bücher / maven-book / reference / Feigen / web / running_aro-dependencies.png

Weitere nützliche Befehl ist reactor:make-dependents die Projekte erstellen, die auf X abhängen

Andere Tipps

Ich bin nicht sicher, was du meinst genau durch „ohne mm1 in lokale Repository zu installieren“. Meinen Sie vorher mm2 Aufbau oder nie?

Im Zweifel, vielleicht eines der neuen Build-Optionen angekündigt in dem Maven Tipps und Tricks: Erweiterte Reactor Optionen Blog-Eintrag helfen können:

  

Beginnend mit dem Maven 2.1 Release,   gibt es neue Maven Kommandozeile   Optionen, die es Ihnen ermöglichen, zu manipulieren   die Art und Weise, dass Maven bauen   Multimodul-Projekte. diese neuen   Optionen sind:

-rf, --resume-from
        Resume reactor from specified project
-pl, --projects
        Build specified reactor projects instead of all projects
-am, --also-make
        If project list is specified, also build projects required by the list
-amd, --also-make-dependents
        If project list is specified, also build projects that depend on projects on the list

Ich dachte, die speziell auf die -pl und -am Optionen. Um eine Untergruppe der Module zu bauen, führen Sie das folgende aus dem Stammverzeichnis

$ mvn --projects mm2 --also-make install

Allerdings bin ich mir nicht sicher, dass dies Ihre Frage beantwortet (die für mich nicht ganz klar ist).

Dies widerspricht dem Prinzip der Abhängigkeiten von Maven2. Was ist das Interesse zu tun, das genau?

Doch wir können uns vorstellen, die mm1 Abhängigkeit von mm2 als system Abhängigkeit zu definieren:

<dependency>
    <groupId>...</groupId>
    <artifactId>mm1</artifactId>
    <version>...</version>
    <scope>system</scope>
    <systemPath>../mm1/target/</systemPath>
</dependency>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top