Heim >Java >javaLernprogramm >Warum löst meine JAR-Datei den Fehler „java.lang.SecurityException: Ungültiger Signaturdatei-Digest' aus und wie kann ich ihn mit dem Maven Shade Plugin beheben?
Beim Ausführen einer JAR-Datei, die eine externe Bibliothek wie Hüpfburg verwendet, kann Folgendes auftreten Fehler:
Exception in thread "main" java.lang.SecurityException: Invalid signature file digest for Manifest main attributes
Um dieses Problem zu beheben, ist es notwendig, die Grundursache zu verstehen. Dieser Fehler tritt typischerweise auf, wenn die JAR-Datei Signaturdateien enthält, die ungültig sind oder von der Java Virtual Machine (JVM) nicht erkannt werden.
Lösung für Maven-Shade-Plugin-Benutzer
Für diejenigen, die versuchen, mit dem Maven-Shade-Plugin ein schattiertes Uber-JAR zu erstellen, besteht die Lösung darin, bestimmte Signaturdateien vom Verpackungsprozess auszuschließen. Sie können dies erreichen, indem Sie die folgenden Zeilen zu Ihrer Plugin-Konfiguration in der Datei POM.xml hinzufügen:
<filters> <filter> <artifact>*:*</artifact> <excludes> <exclude>META-INF/*.SF</exclude> <exclude>META-INF/*.DSA</exclude> <exclude>META-INF/*.RSA</exclude> </excludes> </filter> </filters>
Indem Sie diese spezifischen Signaturdateien ausschließen, ermöglichen Sie der JVM, sie während der Überprüfung zu ignorieren, wodurch die Ungültigkeit behoben wird Signaturfehler.
Das obige ist der detaillierte Inhalt vonWarum löst meine JAR-Datei den Fehler „java.lang.SecurityException: Ungültiger Signaturdatei-Digest' aus und wie kann ich ihn mit dem Maven Shade Plugin beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!