Problem bei der Erstellung der Baugruppe

7

In meinem Projekt erstelle ich viele Assemblys (4-5) und sie werden auf Ziel ausgegeben.1 / 2 dieser Assemblies nehmen nicht ihren endgültigen Namen (oder Assembly-ID), sondern gemäß dem Format artifactID-version .jar..Das ist sehr verwirrend Warum ist das so?

Extrakte aus meiner pom.xml -

%Vor%     
user170114 05.10.2009, 09:11
quelle

2 Antworten

11

Ziehen Sie Lyle auf die Fragenebene heraus, um Sichtbarkeit zu gewährleisten.

Während die vorherige Antwort funktioniert Lyle weist darauf hin:

  

Wenn ich das richtig verstehe, scheint es eine etwas invasive Lösung für einen Fehler im Assembly-Plugin zu sein. Versuchen Sie stattdessen, false in der Konfiguration festzulegen. Siehe: MASSEMBLY-352

Für Artefakte, die nicht mit der Repository-Distribution verbunden sind, ist dies eine gute Lösung und hat für mich gut funktioniert.

%Vor%     
Peter Kahn 09.10.2012 18:04
quelle
8

Wenn Sie die Assembly ausführen, sehen Sie etwas wie diese Ausgabe von Maven?:

%Vor%

Dies passiert, weil alle Ihre Assemblies <appendAssemblyId>false</appendAssemblyId> angeben und kein Klassifizierer angegeben ist. Der Classifier ist in der 2.2-Beta-4 Version veraltet und wird daher ignoriert, dies ist ein Bug / Feature im Plugin.
Als Ergebnis wird Maven eine der Assemblies immer zum "Haupt" -Offakt für Jar-Packaging machen, und Sie sehen es nicht in Ihrem Target-Assembly-Verzeichnis.

Um dies zu umgehen, können Sie angeben, dass Ihr Projekt pom packen hat, und dann die Ziele für den Jar-Lebenszyklus an den Pom binden.

Um die Ziele process-resources und compile zu aktivieren, würden Sie die Verpackung in pom ändern, die folgende Konfiguration zu Ihrem Pom hinzufügen und die Standardlebenszyklusziele ausführen. Zum Beispiel mvn package oder mvn install .

%Vor%

Die vollständige Liste der Ziele, die an den Jar-Lebenszyklus gebunden sind, finden Sie im Abschnitt Eingebaute Lebenszyklusbindungen der Einführung in den Build-Lebenszyklus . Sie alle folgen einem ähnlichen Muster wie die Ziele process-resources und compile . In Ihrem Fall möchten Sie wahrscheinlich das jar -Ziel weglassen.

    
Rich Seller 05.10.2009 10:35
quelle

Tags und Links