Déploiement du projet Maven lève java.util.zip.ZipException: en-tête LOC incorrect (mauvaise signature)

Je reçois l’exception ci-dessous lorsque je lance mon mvn install . J’ai même supprimé le référentiel local et exécuté à nouveau la même exception.

[ERREUR] Échec de l’exécution du but org.apache.maven.plugins: maven-shade-plugin: 2.1: ombre (par défaut) sur le cores-batch du projet: Erreur lors de la création du jar ombré: En-tête LOC invalide (mauvaise signature) -> [Aide 1 ]

   org.apache.maven.plugins maven-shade-plugin 2.1  true    package  shade     commons-logging:commons-logging:jar:*     *:*   META-INF/*.SF META-INF/*.DSA META-INF/*.RSA  log4j.xml       META-INF/spring.handlers   META-INF/spring.schemas       

Erreur:

 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-shade-plugin:2.1:shade (default) on project cores-batch: Error creating shaded jar: invalid LOC header (bad signature) -> [Help 1] org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-shade-plugin:2.1:shade (default) on project cores-batch: Error creating shaded jar: invalid LOC header (bad signature) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59) at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156) at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537) at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196) at org.apache.maven.cli.MavenCli.main(MavenCli.java:141) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409) at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352) Caused by: org.apache.maven.plugin.MojoExecutionException: Error creating shaded jar: invalid LOC header (bad signature) at org.apache.maven.plugins.shade.mojo.ShadeMojo.execute(ShadeMojo.java:528) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209) ... 19 more Caused by: java.util.zip.ZipException: invalid LOC header (bad signature) at java.util.zip.ZipFile.read(Native Method) at java.util.zip.ZipFile.access$1400(ZipFile.java:56) at java.util.zip.ZipFile$ZipFileInputStream.read(ZipFile.java:679) at java.util.zip.ZipFile$ZipFileInflaterInputStream.fill(ZipFile.java:415) at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:158) at java.io.FilterInputStream.read(FilterInputStream.java:107) at org.codehaus.plexus.util.IOUtil.copy(IOUtil.java:189) at org.codehaus.plexus.util.IOUtil.copy(IOUtil.java:175) at org.apache.maven.plugins.shade.DefaultShader.addResource(DefaultShader.java:427) at org.apache.maven.plugins.shade.DefaultShader.shade(DefaultShader.java:186) at org.apache.maven.plugins.shade.mojo.ShadeMojo.execute(ShadeMojo.java:458) ... 21 more [ERROR] [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException 

Vous devez vérifier quel pot pose problème. Il doit être corrompu. Supprimez ce mvn spring-boot:run jar et lancez à nouveau la commande mvn spring-boot:run . Peut-être plus qu’un jar a été corrompu, donc chaque fois que vous devez exécuter cette commande pour supprimer ce jar. Dans mon cas, mysql, jackson, aspect jars a été corrompu mvn spring-boot:run commande 3 fois et je trouve cela et a supprimé les jars du dossier .m2 . Maintenant, le problème a été résolu.

Le fichier jar est peut-être corrompu. Essayez de supprimer le contenu du dossier suivant:

  C:\Users\[username]\.m2\repository 

Cliquez ensuite avec le bouton droit de la souris sur votre projet, sélectionnez Maven, Mettre à jour le projet, cochez la case Mettre à jour les instantanés / versions.

Le principal problème concerne les bocaux corrompus.

Pour trouver celui endommagé, vous devez append un point d’ arrêt d’exception Java dans la vue Points d’arrêt d’Eclipse ou votre IDE préféré, sélectionner la classe java.util.zip.ZipException et redémarrer l’instance Tomcat.

Lorsque la machine ZipException suspendue au ZipException arrêt ZipException vous devez accéder à JarFile.getManifestFromReference() dans la trace de stack et vérifier le name atsortingbut pour voir le nom du fichier.

Après cela, vous devez supprimer le fichier du système de fichiers, puis cliquer avec le bouton droit sur votre projet, sélectionner Maven, Mettre à jour le projet, cocher la case Mettre à jour les instantanés / versions.

Depuis gsitgithub / find-currupt-jars.txt , la commande suivante répertorie tous les fichiers JAR corrompus du référentiel:

 find /home/me/.m2/repository/ -name "*jar" | xargs -L 1 zip -T | grep error | grep invalid 

Vous pouvez supprimer les fichiers JAR corrompus et recomstackr le projet.

Exemple de sortie:

 warning [/cygdrive/J/repo/net/java/dev/jna/jna/4.1.0/jna-4.1.0.jar]: 98304 extra bytes at beginning or within zipfile (attempting to process anyway) file #1: bad zipfile offset (local header sig): 98304 (attempting to re-compensate) zip error: Zip file invalid, could not spawn unzip, or wrong unzip (original files unmodified) 

Je voudrais donner ma pratique ma pratique.

Utilisez votre IDE préféré, prenez eclipse pour par exemple ici:

  1. Trouver un emplacement approprié dans la stack des exceptions
  2. Définir le point d’arrêt conditionnel
  3. Le déboguer
  4. Il imprimera le fichier jar corrompu avant exception

entrer la description de l'image ici

La solution pour moi était de lancer mvn avec -X :

 $ mvn package -X 

Ensuite, parcourez la sortie jusqu’à ce que vous voyiez l’échec, puis continuez jusqu’à ce que vous voyiez le dernier fichier jar que mvn a essayé de traiter:

 ... ... <> ... [DEBUG] Processing JAR /Users/snowch/.m2/repository/org/eclipse/jetty/jetty-server/9.2.15.v20160210/jetty-server-9.2.15.v20160210.jar [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 3.607 s [INFO] Finished at: 2017-10-04T14:30:13+01:00 [INFO] Final Memory: 23M/370M [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal org.apache.maven.plugins:maven-shade-plugin:3.1.0:shade (default) on project kafka-connect-on-cloud-foundry: Error creating shaded jar: invalid LOC header (bad signature) -> [Help 1] org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-shade-plugin:3.1.0:shade (default) on project kafka-connect-on-cloud-foundry: Error creating shaded jar: invalid LOC header (bad signature) 

Regardez le dernier fichier jar avant qu’il échoue et supprimez-le du référentiel local, c.-à-d.

 $ rm -rf /Users/snowch/.m2/repository/org/eclipse/jetty/jetty-server/9.2.15.v20160210/ 

Ressemble au problème de la configuration du compilateur Maven dans votre fichier pom. La version par défaut de java source et de la cible est 1.5, même utilisé JDK a une version supérieure.

Pour corriger, ajoutez la section de configuration du plug-in du compilateur maven avec une version Java supérieure, par exemple:

  org.apache.maven.plugins maven-comstackr-plugin 3.6.1  1.6 1.6   

Pour plus d’infos consultez ces liens:

compilateur maven

rapport d’erreur

Je faisais face à ce problème en me remettant à l’écoute de mon cas weblogique local. Effacer le référentiel local et créer l’oreille a résolu le problème pour moi.

“Gestionnaire LOC incorrect (mauvaise signature)”
Cela est probablement dû à des fichiers endommagés téléchargés par Maven. Solution rapide, je vous recommande de sauvegarder le répertoire .m2 / repository et de supprimer le répertoire .m2 / repository , puis d’effectuer une reconstruction ou Maven-Update.

La plupart du temps, cela se produit à cause des zars corrompus qui mettent à jour l’url du référentiel central maven dans le fichier pom.xml résolu par mon problème. Vous pouvez utiliser cette URL https://repo.maven.apache.org/maven2/ mais avant cela, supprimez les fichiers dans le répertoire .m2 espère que cela aide

Construire un projet avec l’option “-e -X” pour trouver le fichier jar corrompu et supprimer le fichier JAR du référentiel local.

Cela peut être dû à plusieurs raisons:

1: Essayez de changer votre version Web.XML

2: Le Jar que vous essayez d’utiliser peut être corrompu. Par exemple: utiliser une version différente pour le bocal de Maven

Au-delà de la suppression de .m2 / repository, supprimez l’application du serveur, exécutez le serveur (sans applications), arrêtez-le et ajoutez à nouveau l’application. Maintenant, il est censé fonctionner. Pour une raison quelconque, le simple nettoyage des dossiers du serveur depuis l’interface n’a pas le même effet.

Il est principalement causé par maven.Si vous utilisez IDEA, essayez les étapes suivantes:

1. utiliser IDEA pour exécuter “Maven Clean”, alors vous verrez

  [INFO] Scanning for projects... [WARNING] [WARNING] Some problems were encountered while building the effective model for com.hisen:BookSystem_V0:war:1.0-SNAPSHOT [WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-comstackr-plugin is missing. @ line 116, column 15 [WARNING] [WARNING] It is highly recommended to fix these problems because they threaten the stability of your build. 

remplacer le mauvais pot

2. utiliser IDEA pour exécuter “comstackr maven”, alors vous verrez

 [INFO] ------------------------------------------------------------- [ERROR] COMPILATION ERROR : [INFO] ------------------------------------------------------------- [ERROR] Failure executing javac, but could not parse the error:错误: 读取/Users/qinkai/.m2/repository/ch/qos/logback/logback-classic/1.1.1/logback-classic-1.1.1.jar时出错; invalid LOC header (bad signature)错误: 读取/Users/qinkai/.m2/repository/ch/qos/logback/logback-core/1.1.1/logback-core-1.1.1.jar时出错; invalid LOC header (bad signature) 2 个错误 

résoudre le mauvais pot

alors le problème sera résolu.

Cette réponse n’est pas pour les administrateurs de DevOps / système, mais pour ceux qui utilisent IDE comme eclipse et qui sont confrontés à un problème d’en- invalid LOC header (bad signature) .

Vous pouvez forcer la mise à jour des dépendances maven, comme suit:

entrer la description de l'image ici

entrer la description de l'image ici