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!