tutorial proyecto plugin multimodulo create application maven java-ee deployment

plugin - La implementación del proyecto Maven arroja java.util.zip.ZipException: encabezado LOC no válido(firma incorrecta)



netbeans maven web application (14)

Además de eliminar .m2 / repositorio, elimine la aplicación del servidor, ejecute el servidor (sin aplicaciones), deténgalo y agregue la aplicación nuevamente. Ahora se supone que debe funcionar. Por alguna razón, simplemente limpiar las carpetas del servidor de la interfaz no tiene el mismo efecto.

Obtengo la siguiente excepción cuando ejecuto mi instalación de mvn. Incluso he eliminado el repositorio local y volví a ejecutar obteniendo la misma excepción.

[ERROR] No se pudo ejecutar el objetivo org.apache.maven.plugins: maven-shade-plugin: 2.1: shade (predeterminado) en los núcleos del proyecto por lotes: Error al crear el shaded jar: header del LOC no válido (bad signature) -> [Help 1 ]

<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>

Error:

[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


Construya el proyecto con la opción "-e-X" para descubrir el jar corrupto y eliminar el jar del repositorio local.


Debe verificar qué jarro está generando problemas. Debe estar dañado. Borre ese jar y ejecute mvn spring-boot:run comando nuevamente. Puede haber más de un jar dañado, por lo que cada vez que necesita ejecutar ese comando para eliminar ese jar. En mi caso, mysql, jackson, aspect jars fue corrompido mvn spring-boot:run comando 3 veces y me .m2 esto y .m2 los frascos de la carpeta .m2 . Ahora el problema ha sido resuelto


Desde gsitgithub/find-currupt-jars.txt , el siguiente comando enumera todos los archivos jar dañados en el repositorio:

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

Puede eliminar los archivos jar corruptos y volver a compilar el proyecto.

Ejemplo de salida:

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)


El archivo jar puede estar dañado. Intenta eliminar el contenido de tu

C:/Users/[username]/.m2/repository folder.

A continuación, haga clic con el botón derecho en su proyecto, seleccione Maven, Update Project, marque Forzar actualización de snapshots / releases.


El problema principal son las jarras corruptas.

Para encontrar el corrupto, necesita agregar un Punto de interrupción de excepción de Java en la Vista de puntos de interrupción de Eclipse o su IDE preferido, seleccionar la clase java.util.zip.ZipException y reiniciar la instancia de Tomcat.

Cuando la JVM se suspende en el ZipException corte ZipException , debe ir a JarFile.getManifestFromReference() en el seguimiento de la pila y verificar el name atributo para ver el nombre del archivo.

Después de eso, debe eliminar el archivo del sistema de archivos y luego hacer clic derecho en su proyecto, seleccionar Maven, Actualizar proyecto, verificar en Forzar actualización de instantáneas / versiones.


Es principalmente causada por maven. Si está usando IDEA, intente estos siguientes pasos:

1.utiliza IDEA para ejecutar "maven clean", luego verás

[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-compiler-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.

reemplace el tarro equivocado

2. usa IDEA para ejecutar "compilación de maven", entonces verás

[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 个错误

resolver el jar incorrecto

entonces el problema será resuelto


Esta respuesta no es para DevOps / administradores de sistemas, sino para aquellos que están usando IDE como eclipse y enfrentan invalid LOC header (bad signature) .

Puede forzar la actualización de las dependencias maven, de la siguiente manera:


Estaba enfrentándome a este problema que estaba afectando mi oído a mi instancia weblogic local. Limpiar el repositorio local y construir el oído nuevamente resolvió el problema para mí.


Esto puede deberse a muchas razones:

1: Intente cambiar su versión Web.XML

2: el Frasco que está tratando de usar puede estar dañado. Por ejemplo: use una versión diferente para el tarro de Maven


La solución para mí fue ejecutar mvn con -X :

$ mvn package -X

Luego mire hacia atrás a través de la salida hasta que vea la falla y luego continúe hasta que vea el último archivo jar que mvn intentó procesar:

... ... <<output ommitted>> ... [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)

Mire el último contenedor antes de que fallara y elimínelo del repositorio local, es decir,

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


Me gustaría darle mi práctica.

Use su IDE preferido, tome eclipse por ejemplo aquí:

  1. Encuentra una ubicación adecuada dentro de la pila de excepciones
  2. Establecer punto de interrupción condicional
  3. Depurarlo
  4. Imprimirá el jar corrupto antes de la excepción


Parece un problema de configuración para el compilador de maven en su archivo pom. La versión por defecto de origen y destino de Java es 1.5, incluso JDK utilizado tiene una versión más alta.

Para solucionarlo, agregue la sección de configuración del plugin de compilación de maven con una versión java más alta, por ejemplo:

<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.6.1</version> <configuration> <source>1.6</source> <target>1.6</target> </configuration> </plugin>

Para obtener más información, consulte estos enlaces:

compilador de maven

informe de error


la mayoría de las veces esto sucede debido a los zars corruptos actualizando la URL del repositorio central de maven en el archivo pom.xml. Solucionado mi problema. Puedes usar esta url https://repo.maven.apache.org/maven2/ pero antes de eso borra los archivos en el directorio .m2 espero que esto ayude