6 Stimmen

Multimodul-Projekt - Montage-Plugin

Ich verwende Maven 2.0.9, um ein Projekt mit mehreren Modulen zu erstellen. Ich habe das Assembly-Plugin in meinem übergeordneten POM definiert. Ich kann meine Assemblies bauen lassen mit

mvn install assembly:assembly

Mit diesem Befehl werden die Tests zweimal ausgeführt, einmal während der Installationsphase und ein weiteres Mal während der Montage. Ich habe es mit assembly:single versucht, aber es wird ein Fehler ausgegeben. Jede Hilfe, um meine Baugruppen zu erstellen, ohne die Tests zweimal auszuführen, wird sehr geschätzt.

7voto

Pascal Thivent Punkte 548176

Der Aufruf des Assembly Mojo wird Maven dazu veranlassen, das Projekt unter Verwendung des normalen Lebenszyklus zu erstellen, bis hin zum package Phase. Also, wenn Sie laufen:

mvn install assembly:assembly

weisen Sie Maven an, einige Dinge zweimal auszuführen und dies schließt die Testphase ein, wie Sie in der Dokumentation des Standard-Lebenszyklus.

Um dies zu vermeiden, sollten Sie nur laufen:

mvn assembly:assembly

Oder binden Sie das Plugin an den Build-Lifecycle eines Projekts:

<project>
  ...
  <build>
    ...
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          ...
        </configuration>
        <executions>
          <execution>
            <id>make-assembly</id> <!-- this is used for inheritance merges -->
            <phase>package</phase> <!-- append to the packaging phase. -->
            <goals>
              <goal>single</goal> <!-- goals == mojos -->
            </goals>
          </execution>
        </executions>
      </plugin>
      ...
</project>

1voto

JavaGuy Punkte 303

Ich denke, die Fehlermeldung ist irreführend, sie suggeriert, dass Sie die "Package"-Phase innerhalb desselben Maven-Aufrufs ausführen müssen wie den Aufruf des Assembly-Plugins selbst.

Haben Sie "mvn package assembly:assembly" oder "mvn install assembly:assembly" versucht?

Funktioniert bei mir unter Linux , JDK 1.6.0_16 , Maven 2.2.1 , Assembly Plugin 2.2-beta-4.

1voto

ignatalexeyenko Punkte 86

Sie müssen ein separates Projekt für die Baugruppe in einem Projekt mit mehreren Modulen erstellen. Dieses separate Modul wird nur Assembly - und es wird Abhängigkeiten haben: Geschwister, die zum Ergebnis Assembly hinzugefügt werden sollten.

Bitte lesen Sie diesen Artikel: http://www.sonatype.com/books/mvnref-book/reference/assemblies-sect-best-practices.html

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X