Wie kann ich feststellen, welches signierte jar das maven-shade-plugin zum scheitern bringt?

10

Um maven-shade-plugin auszuführen, muss ich die hier beschriebene Methode hier verwenden, da Abhängigkeiten signiert sind, wie gezeigt hier:

%Vor%

Frage: Wie kann ich sagen, welche JAR das Plugin zum Absturz gebracht hat? Es scheint nicht der zuletzt genannte zu sein.

Ende der Debugausgabe:

%Vor%     
jordanpg 12.05.2015, 18:42
quelle

1 Antwort

4

Das Schatten-Plugin entpackt alle Gläser für die Abhängigkeiten, die Sie eingefügt haben, und stopft deren Inhalt in eine einzige JAR-Datei. So, als ob du alles selbst geschrieben hättest.

Die Konfiguration weist das Schatten-Plugin an, keine Dateien zu verschieben, die auf .SF, .DSA oder .RSA enden, wenn sie in einem Verzeichnis namens META-INF enthalten sind.

Alles, was Sie tun müssen, ist herauszufinden, in welchem ​​Jar diese Dateien liegen.

Als erstes würde ich den Filterabschnitt auskommentieren und neu aufbauen. Dann grep Ihr ​​schattiertes Glas für diese Erweiterungen. Es könnte Ihnen einen Hinweis auf das Paket geben.

Die Option -t des Befehls jar listet alle Dateien im Archiv auf, ohne sie zu extrahieren. Im Allgemeinen ist jar syntax sehr ähnlich zu tar.

%Vor%

In meinem Fall war es ziemlich offensichtlich. Ich hatte kürzlich Bouncy Castle als eine Abhängigkeit hinzugefügt. BCKEY.DSA scheint, als wäre es der Bouncy Castle Key.

Um zu bestätigen, habe ich gerade die gleiche Aktion auf dem Hüpfburgglas durchgeführt. Da ich dies mit Maven erstellt habe, ist das Glas in meinem lokalen Repository:

%Vor%     
TheSporkboy 27.08.2015 19:13
quelle