Wie Konfiguriere ich das maven-shade-plugin beinhalten test-code in mein Glas?
Ich den Schatten maven-plugin zu bauen, mein Projekt so, dass alle seine Abhängigkeiten sind enthalten in einem Glas (das macht es leichter zu führen Sie es auf Hadoop). Schatten scheint auszuschließen, in meinem test-code, indem Sie "Standard", ist verständlich. Da würde ich gerne run-integration-tests gegen meinen cluster, ich bin der Hoffnung, um das setup ein anderes Profil zu erstellen Sie eine separate Glas für diesen Zweck. Gibt es eine Möglichkeit zum konfigurieren dieses plugin auch test-code?
- Dies ist mehr ein workaround als eine direkte Antwort, aber ich landete hinzufügen einer test-jar-goal, um das Projekt mit den tests und das hinzufügen einer weiteren Abhängigkeit auf das Projekt (mit den "tests" classifier) zu meinem shale-Projekt gebaut. Nicht ideal, aber jetzt ist mein Schiefer gebaut jar enthält tests als gut.
- Können Sie ein Beispiel geben, was du getan hast? Ich bin neu in maven und verstehe nicht, wie man möchte hinzufügen Ziele für das Projekt oder Klassifikatoren, um die Abhängigkeiten.
- Fügen Sie diese, um die build-Sektion der pom deren tests, die Sie wiederverwenden wollen:
<plugin> <artifactId>maven-jar-plugin</artifactId> <executions> <execution> <id>test-jar</id> <phase>package</phase> <goals> <goal>test-jar</goal> </goals> </execution> </executions> </plugin>
davon Abhängen, dass test-jar mit den "tests" classifier:<dependency> <groupId>com.abc</groupId> <artifactId>blah</artifactId> <version>1.0</version> <classifier>tests</classifier> <scope>test</scope> </dependency>
- Könnten Sie bitte zeigen, was du getan hast um dieses problem zu lösen?
- Ich habe eine funktionierende Lösung für dieses Thema mit dem Assembly-plugin: stackoverflow.com/a/36058365/5606016
- Möglich, Duplikat der Wie test-Klassen in Jar-erstellt von maven-shade-plugin?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Mit der version 2.2 des maven-shade-plugin, hat Sie eine "shadeTestJar" - option (siehe MSHADE-158): http://maven.apache.org/plugins/maven-shade-plugin/shade-mojo.html#shadeTestJar
Jedoch, ich habe versucht, mit diesem und konnte nicht damit es funktioniert. Hier ist mein plugin-config:
Den "...-tests.jar" Datei hat keine Einträge, aber das wichtigste schattigen jar-sieht gut aus (obwohl es nicht enthalten alle test-Klassen).
Auch, diese Frage Duplikate die andere Frage, obwohl die akzeptierte Antwort ist nicht wirklich befriedigend: Wie test-Klassen in Jar-erstellt von maven-shade-plugin?
Diese letzten paar Antworten sind chaotisch Problemumgehungen für eine gebrochene Funktion am besten. Die Tatsache der Angelegenheit bleibt, dass es ein bug in
maven-shade-plugin
. In der Zwischenzeit habe ich untersucht und die Wurzel-verursacht die Fehler, und erstellt eine patch. Jetzt hoffe ich, dass jemand beim Apache umfasst es bald und dann schließlich dieshadeTestJar
- Funktion arbeiten kann wie es soll.Habe ich es geschafft, es zu schaffen durch hinzufügen von :
Versuchen
include
ing Ihre test-Pakete wie dieses:Mithilfe der
maven-shade-plugin
wie erläutert durch ~steve-k oben ist korrekt, leider durch einen FehlershadeTestJar
funktioniert nicht und der daraus resultierende test-GLAS ist leer.