在maven2中编译错误:“无效的CEN标题(错误的签名)”

我正在迁移我们的java-ee项目以使用Maven而不是Ant。

对于以下依赖项

 javolution javolution 5.4.2  

尝试编译时出现以下错误

 [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 

这意味着本地存储库中的javolution-5.4.2 jar已损坏。 我在这个链接上检查了maven repo的5.4.2版本。 您可以手动将jar从那里复制到本地存储库以查看是否有帮助。

您还可以尝试以下步骤: –

  1. 从本地存储库C:\Users\User.IVSTEL1\.m2\repository\javolution\ javolution\5.4.2\javolution-5.4.2.jar 。 然后maven将再次为您下载。
  2. 如果5.4.2版本在重新下载后仍然存在一些问题,请尝试以下版本 。

    javolution javolution 5.5.1