J'obtiens l'exception ci-dessous lorsque j'exécute mon mvn install
. J'ai même supprimé le référentiel local et exécuté à nouveau en obtenant la même exception.
[ERREUR] Échec de l'exécution de l'objectif org.apache.maven.plugins: maven-ombre-plugin: 2.1: ombre (par défaut) sur le projet cores-batch: Erreur lors de la création du pot ombré: en-tête LOC non valide (signature incorrecte) -> [Aide 1 ]
<?xml version="1.0" encoding="UTF-8"?>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.1</version>
<configuration>
<skipTests>true</skipTests>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<artifactSet>
<excludes>
<exclude>commons-logging:commons-logging:jar:*</exclude>
</excludes>
</artifactSet>
<filters>
<filter>
<artifact>*:*</artifact>
<excludes>
<!-- workaround for a spring issues -->
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
<!-- don't want to pick up any other log4j.xml -->
<exclude>log4j.xml</exclude>
</excludes>
</filter>
</filters>
<!-- May be needed to work around another issue in Spring -->
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/spring.handlers</resource>
</transformer>
<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/spring.schemas</resource>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
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
maven
jakarta-ee
deployment
jar
Karthick
la source
la source
mvn dependencies validate
ou deux ...Réponses:
Vous devez vérifier quel pot pose problème. Il doit être corrompu. Supprimez ce fichier et exécutez à
mvn spring-boot:run
nouveau la commande. Il se peut que plusieurs fichiers jar aient été corrompus, donc à chaque fois que vous devez exécuter cette commande pour supprimer ce fichier jar. Dans mon cas, mysql, jackson, aspect jars a été corrompumvn spring-boot:run
3 fois et j'ai compris cela et j'ai supprimé les jars du.m2
dossier. Maintenant, le problème est résolu.la source
Le fichier jar est peut-être corrompu. Essayez de supprimer le contenu du dossier suivant:
Ensuite, faites un clic droit sur votre projet, sélectionnez Maven, Update Project, cochez Forcer la mise à jour des snapshots / releases
la source
invalid LOC header
dans Gradle build, vous supprimez simplement le~/.gradle/caches
dossier (Linux).Le principal problème est les bocaux corrompus.
Pour trouver celui qui est corrompu, vous devez ajouter un point d' arrêt d'exception Java dans la vue des points d'arrêt d'Eclipse, ou votre IDE préféré, sélectionnez le
java.util.zip.ZipException
classe et redémarrez l'instance Tomcat.Lorsque la JVM s'arrête au
ZipException
point d'arrêt, vous devez accéder àJarFile.getManifestFromReference()
la trace de la pile et vérifier l'attributname
pour voir le nom du fichier.Après cela, vous devez supprimer le fichier du système de fichiers, puis faites un clic droit sur votre projet, sélectionnez Maven, Mettre à jour le projet, cochez Forcer la mise à jour des instantanés / versions.
la source
Depuis gsitgithub / find-currupt-jars.txt , la commande suivante répertorie tous les fichiers jar corrompus dans le référentiel:
Vous pouvez supprimer les fichiers jar corrompus et recompiler le projet.
Exemple de sortie:
la source
sudo find ./repository/ -name "*jar" | sudo xargs -L 1 zip -T | grep error | grep invalid
me donnexargs: zip: No such file or directory
. ceci utilise bash sur ubuntu sur windows, fyizip -T
(teste) sur chaque jar sousrepository
, puis filtre les jars qui sont des fichiers compressés invalides. Avez-vous lazip
commande disponible?zip -T
sur chaque pot stocké sous.m2/repository
. Sous Windows, vous pouvez l'exécuter sur Cygwin (/cygdrive/C/Users/torno/.m2/repository
) comme je l'ai fait, et je pense que vous pouvez également l'exécuter avec Bash sur Windows 10 (/mnt/c/Users/torno/.m2/repository
). Je n'ai pas étudié comment écrire un script équivalent avec PowerShell, et je pense que cela ne devrait pas être possible avec une invite cmd.Je voudrais donner ma pratique.
Utilisez votre IDE préféré, prenez par exemple eclipse ici:
la source
La solution pour moi était de courir
mvn
avec-X
:Ensuite, regardez en arrière dans 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:
Regardez le dernier jar avant qu'il échoue et supprimez-le du référentiel local, c'est-à-dire
la source
On dirait un problème de configuration pour le compilateur maven dans votre fichier pom. La source et la cible Java de la version par défaut sont 1.5, même JDK utilisé a une version supérieure.
Pour résoudre le problème, ajoutez la section de configuration du plugin maven compiler avec une version Java supérieure, exemple:
Pour plus d'informations, consultez ces liens:
compilateur maven
rapport d'erreur
la source
Cette réponse n'est pas pour les administrateurs de DevOps / système, mais pour ceux qui utilisent l'EDI comme Eclipse et font face à des
invalid LOC header (bad signature)
problèmes.Vous pouvez forcer la mise à jour des dépendances maven, comme suit:
la source
Voici un petit détecteur écrit en Java, il suffit de copier et d'exécuter :)
la source
Nous pouvons forcer la validation de la somme de contrôle dans maven avec au moins deux options:
1.Ajout du
--strict-checksums
à notre commande maven.2.Ajout de la configuration suivante à notre fichier de paramètres maven:
Plus de détails dans cet article: https://dzone.com/articles/maven-artifact-checksums-what
la source
Au-delà de la suppression du .m2 / référentiel, 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 à partir de l'interface n'a pas le même effet.
la source
J'étais confronté à ce problème lors du déploiement de mon oreille sur mon instance weblogic locale. La suppression du référentiel local et la construction de l'oreille ont à nouveau résolu le problème pour moi.
la source