Antの代わりにMavenを使用するようにJava-eeプロジェクトを移行しています。
次の依存関係の場合
<dependency>
<groupId>javolution</groupId>
<artifactId>javolution</artifactId>
<version>5.4.2</version>
</dependency>
コンパイルしようとすると次のエラーが表示されます
[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が破損していることを意味します。この link で5.4.2バージョンのMavenリポジトリを確認しました。そこからjarをローカルリポジトリに手動でコピーして、それが役立つかどうかを確認できます。
次の手順を試すこともできます:
C:\Users\User.IVSTEL1\.m2\repository\javolution\ javolution\5.4.2\javolution-5.4.2.jar
。その後、mavenが再度ダウンロードします。再ダウンロード後も5.4.2バージョンに問題がある場合は、次の version を試してください。
<dependency> <groupId>javolution</groupId> <artifactId>javolution</artifactId> <version>5.5.1</version> </dependency>