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?

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?

Linda Hamilton
Linda HamiltonOriginal
2025-01-03 12:12:41994Durchsuche

Why Does My JAR File Throw a

Den Fehler „Ungültige Signaturdatei“ bei der JAR-Ausführung verstehen

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn