Fehlerbehebung beim Fehler „Ungültige Signaturdatei“ beim Ausführen von JAR-Dateien
Beim Versuch, eine Java-Archivdatei (JAR) auszuführen, kann es unter bestimmten Umständen dazu kommen führte zu dem verwirrenden Fehler: „Ungültiger Signaturdatei-Digest für Manifest-Hauptattribute.“ Dieses Problem kann auftreten, wenn Ihr Programm eine externe Bibliothek verwendet und als JAR gepackt ist.
Eine mögliche Ursache für diesen Fehler liegt im Vorhandensein von Manifestsignaturdateien innerhalb der JAR. Diese Dateien sind typische Nebenprodukte des Signaturvorgangs, der eine Sicherheitsmaßnahme für JAR-Dateien darstellt. Beim Versuch, ein schattiertes „uber-JAR“ mit dem Maven-Shade-Plugin zu erstellen, ist eine Ausschlusskonfiguration von entscheidender Bedeutung, um diesen Konflikt zu verhindern.
Um das Problem zu beheben, ändern Sie die Plugin-Konfiguration, indem Sie den folgenden Filterabschnitt hinzufügen :
<configuration> <filters> <filter> <artifact>*:*</artifact> <excludes> <exclude>META-INF/*.SF</exclude> <exclude>META-INF/*.DSA</exclude> <exclude>META-INF/*.RSA</exclude> </excludes> </filter> </filters> <!-- Additional configuration. --> </configuration>
Diese Konfiguration schließt Manifestsignaturdateien (SF, DSA, RSA) aus dem Uber-JAR aus und beseitigt so die Fehlerquelle. Mit dieser Änderung sollte Ihr Programm erfolgreich ausgeführt werden, ohne dass die Ausnahme „Ungültige Signaturdatei“ auftritt.
Das obige ist der detaillierte Inhalt vonWie behebe ich den Fehler „Ungültiger Signaturdatei-Digest für Manifest-Hauptattribute' in JAR-Dateien?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!