Maison >Java >javaDidacticiel >Comment corriger l'erreur « java.lang.SecurityException : résumé de fichier de signature non valide » dans mon fichier JAR ?

Comment corriger l'erreur « java.lang.SecurityException : résumé de fichier de signature non valide » dans mon fichier JAR ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-24 14:31:21527parcourir

How to Fix

Résolution de l'erreur de fichier de signature non valide lors de l'exécution de Jar

Lors de la tentative d'exécution d'un programme Java emballé sous forme de fichier .jar, les utilisateurs peuvent rencontrer l'erreur "java.lang.SecurityException : résumé de fichier de signature non valide pour les attributs principaux du manifeste." Cette erreur se produit généralement lorsque le .jar utilise une bibliothèque externe telle qu'un château gonflable.

La cause première de cette erreur réside dans le processus de vérification de la signature de la machine virtuelle Java (JVM). La JVM vérifie la signature du fichier manifeste inclus dans le .jar pour garantir son authenticité et son intégrité. Cependant, si la bibliothèque utilisée inclut sa propre signature, elle peut entrer en conflit avec le processus de vérification de la JVM.

Une solution potentielle à ce problème, particulièrement pertinente pour ceux qui utilisent maven-shade-plugin pour créer des uber-jars, consiste à exclure les fichiers de signature du processus d'ombrage. En ajoutant les lignes suivantes à la configuration du plugin, les fichiers de signature seront exclus, résolvant l'erreur :

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

En excluant les fichiers de signature de l'uber-jar, le conflit avec le processus de vérification de la JVM est évité, et le programme s'exécutera sans l'erreur "Fichier de signature invalide".

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn