2011-03-27 14 views
17

Estoy migrando nuestro proyecto java-ee para usar Maven en lugar de Ant.Error de compilación en maven2: "encabezado CEN no válido (firma incorrecta)"

Para la siguiente dependencia

<dependency> 
     <groupId>javolution</groupId> 
     <artifactId>javolution</artifactId> 
     <version>5.4.2</version> 
    </dependency> 

me sale el siguiente error al intentar compilar

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2. 
3.2:compile (default-compile) on project JAdaptiv: Compilation failure 
[ERROR] error: error reading C:\Users\User.IVSTEL1\.m2\repository\javolution\ 
javolution\5.4.2\javolution-5.4.2.jar; invalid CEN header (bad signature) 
[ERROR] -> [Help 1] 
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal o 
rg.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on 
project JAdaptiv: Compilation failure 
error: error reading C:\Users\User.IVSTEL1\.m2\repository\javolution\javoluti 
on\5.4.2\javolution-5.4.2.jar; invalid CEN header (bad signature) 

     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor 
.java:213) 
     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.buildProje 
ct(LifecycleModuleBuilder.java:84) 
     at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProje 
ct(LifecycleModuleBuilder.java:59) 
     at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBu 
ild(LifecycleStarter.java:183) 
     at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(Lifecycl 
eStarter.java:161) 
     at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:319) 
     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:39) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces 
sorImpl.java:25) 
     at java.lang.reflect.Method.invoke(Method.java:597) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Laun 
cher.java:290) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.jav 
a:230) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(La 
uncher.java:409) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java: 
352) 
Caused by: org.apache.maven.plugin.CompilationFailureException: Compilation fail 
ure 
error: error reading C:\Users\Croydon.IVSTEL1\.m2\repository\javolution\javoluti 
on\5.4.2\javolution-5.4.2.jar; invalid CEN header (bad signature) 

     at org.apache.maven.plugin.AbstractCompilerMojo.execute(AbstractCompiler 
Mojo.java:656) 
     at org.apache.maven.plugin.CompilerMojo.execute(CompilerMojo.java:128) 
     at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(Default 
BuildPluginManager.java:101) 
     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor 
.java:209) 
     ... 19 more 
[ERROR] 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please rea 
d the following articles: 
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureExc 
eption 

Respuesta

36

Esto significa que javolution-5.4.2 frasco en su repositorio local es corrupto. Revisé el repositorio maven para la versión 5.4.2 en este link. Puede copiar manualmente el jar desde allí a su repositorio local para ver si eso ayuda.

También puede probar los siguientes pasos: -

  1. Eliminar el frasco de su repositorio local C:\Users\User.IVSTEL1\.m2\repository\javolution\ javolution\5.4.2\javolution-5.4.2.jar. Entonces maven lo descargará nuevamente por ti.
  2. Si la versión 5.4.2 todavía tiene algunos problemas después de volver a descargar, intente lo siguiente version.

    <dependency> <groupId>javolution</groupId> <artifactId>javolution</artifactId> <version>5.5.1</version> </dependency>

+1

que funcionaría también. Mientras tanto, terminé configurando un [administrador de repositorio de maven] (http://nexus.sonatype.org/) que logró buscar el archivo correcto. –

+0

Sí, si tiene la capacidad de alojar nexus o artifactory como el gestor de repos, esa es la solución ideal. – CoolBeans

Cuestiones relacionadas