Heim > Java > javaLernprogramm > Wie behebe ich den Fehler „java.lang.SecurityException: Ungültiger Signaturdatei-Digest' in meiner JAR-Datei?

Wie behebe ich den Fehler „java.lang.SecurityException: Ungültiger Signaturdatei-Digest' in meiner JAR-Datei?

Patricia Arquette
Freigeben: 2024-12-24 14:31:21
Original
518 Leute haben es durchsucht

How to Fix

Beheben des Fehlers „Ungültige Signaturdatei“ bei der Jar-Ausführung

Beim Versuch, ein als .jar gepacktes Java-Programm auszuführen, kann der Fehler bei Benutzern auftreten „java.lang.SecurityException: Ungültiger Signaturdatei-Digest für Manifest-Hauptattribute.“ Dieser Fehler tritt normalerweise auf, wenn die .jar-Datei eine externe Bibliothek wie Hüpfburg verwendet.

Die Hauptursache für diesen Fehler liegt im Signaturüberprüfungsprozess der Java Virtual Machine (JVM). Die JVM überprüft die Signatur der in der .jar-Datei enthaltenen Manifestdatei, um deren Authentizität und Integrität sicherzustellen. Wenn die verwendete Bibliothek jedoch eine eigene Signatur enthält, kann es zu Konflikten mit dem Verifizierungsprozess der JVM kommen.

Eine mögliche Lösung für dieses Problem, die besonders für diejenigen relevant ist, die Maven-Shade-Plugin zum Erstellen von Uber-Jars verwenden, ist: Signaturdateien vom Schattierungsprozess ausschließen. Durch das Hinzufügen der folgenden Zeilen zur Plugin-Konfiguration werden die Signaturdateien ausgeschlossen und der Fehler behoben:

<filters>
    <filter>
        <artifact>*:*</artifact>
        <excludes>
            <exclude>META-INF/*.SF</exclude>
            <exclude>META-INF/*.DSA</exclude>
            <exclude>META-INF/*.RSA</exclude>
        </excludes>
    </filter>
</filters>
Nach dem Login kopieren

Durch den Ausschluss von Signaturdateien aus dem Uber-JAR wird der Konflikt mit dem Verifizierungsprozess der JVM vermieden. und das Programm wird ohne den Fehler „Ungültige Signaturdatei“ ausgeführt.

Das obige ist der detaillierte Inhalt vonWie behebe ich den Fehler „java.lang.SecurityException: Ungültiger Signaturdatei-Digest' in meiner JAR-Datei?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage