2016-04-15 15 views
1

Ich arbeite an einem Java-Projekt, das mit Maven erstellt wird. Das Projekt hat mehrere Abhängigkeiten, ich bin auf der Suche nach einer Möglichkeit, mein Projekt in zwei Gläser zu packen - eines für die eigentlichen Projektklassen und das andere für alle Abhängigkeiten zusammen.maven dependencies-only jar

Ich suchte und fand über das maven Schattenplugin, das ein einzelnes Glas mit Abhängigkeiten produzieren kann. Also, als Workaround habe ich ein anderes Modul ohne Quellen erstellt und verlinke meinen Pom mit diesem Modul - dann kann ich mit dem Schatten-Plugin ein Jar mit all meinen Abhängigkeiten generieren. Aber das fühlt sich falsch an, gibt es einen besseren Weg?

+3

Sie könnten das gleiche mit einem Multi-Modul-Projekt (anstatt 2 Projekte) tun. – vikingsteve

+0

@vikingsteve, sicher - das ist, was ich getan habe, als ich 2 Projekte sagte ich eigentlich zwei Module meinte - ich werde meine Frage aktualisieren. Es fühlt sich immer noch etwas hetzisch an. – bennyl

+0

Es fühlt sich hackisch an, weil es fast so ist. Aber ... warum nimmst du diesen Ansatz? Sind Sie gezwungen oder haben Sie sich entschieden? Wenn du mehr über * warum * es auf diese Weise organisiert erklärst, können wir vielleicht eine Alternative vorschlagen – vikingsteve

Antwort

0

Kasse Maven Montage Plugin hier http://maven.apache.org/plugins/maven-assembly-plugin/
Sie haben können Abhängigkeit in Assembly Descriptor gesetzt verwaltet.
Und ja @ Vikingsteve Vorschlag ist auch richtig.

+0

Ich vermisse es wahrscheinlich, aber wo heißt es, dass es im Deskriptor erlaubt, dass alle Abhängigkeiten, die für ein Projekt benötigt werden, in eine separate JAR-Datei und nicht in das Hauptprojekt gepackt werden? – Draken

+0

@Shubham Chaurasia, können Sie näher erläutern, wie Sie mit dem Assembly-Plugin erreichen, was ich möchte? Ich habe mir die Dokumentation angesehen und die relevanten Teile nicht gefunden. Danke. – bennyl

Verwandte Themen