我有几个与我在项目中使用的内部项目有关的罐子。它们使用maven install命令安装在本地maven存储库中,因为它们在任何存储库中都不可用。
但是,当我尝试构建应用程序时,它会失败并显示错误:
error: error reading D:\proj\.m2\repository\com\affecto\bolib-web\0.1.6\bolib-web-0.1.6.jar
error in opening zip file
错误追踪:
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Compilation failure
error: error reading D:\proj\.m2\repository\com\affecto\bolib-web\0.1.6\bolib-
web-0.1.6.jar; error in opening zip file
error: error reading D:\proj\.m2\repository\com\microsoft\sqljdbc\2005\sqljdbc
-2005.jar; error in opening zip file
[INFO] ------------------------------------------------------------------------
[DEBUG] Trace
org.apache.maven.BuildFailureException: Compilation failure
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(Defa
ultLifecycleExecutor.java:715)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLi
fecycle(DefaultLifecycleExecutor.java:556)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(Defau
ltLifecycleExecutor.java:535)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHan
dleFailures(DefaultLifecycleExecutor.java:387)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegmen
ts(DefaultLifecycleExecutor.java:348)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLi
fecycleExecutor.java:180)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:6
0)
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.classworlds.Launcher.launchEnhanced(Launcher.java:315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: org.apache.maven.plugin.CompilationFailureException: Compilation fail
ure
at org.apache.maven.plugin.AbstractCompilerMojo.execute(AbstractCompiler
Mojo.java:516)
at org.apache.maven.plugin.CompilerMojo.execute(CompilerMojo.java:114)
at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPlugi
nManager.java:490)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(Defa
ultLifecycleExecutor.java:694)
... 17 more
https://gist.github.com/avchavan/01eb6e46e00dc86708d0
依赖片段:
<dependency>
<groupId>com.affecto</groupId>
<artifactId>bolib-web</artifactId>
<version>0.1.6</version>
</dependency>
我尝试删除整个.m2但仍然相同。 jar文件打开正常,我可以看到它的内容。 所以这对我来说不是一个问题。 此外,jar中没有html页面(仅限java文件)。 当我打开罐子时,我可以看到罐子是用maven制作的,因为它带有一个pom文件。 这可能是什么问题?
感谢。
答案 0 :(得分:0)
在查看你的maven输出并没有真正发现错误后,我真的只能得出结论,这是Windows文件权限问题或Windows文件锁定问题。
对于Windows文件权限:
我建议您尝试以“管理员”的身份运行所有内容,或者递归地删除/添加权限.m2
,以便所有用户都可以读写,以查看是否存在问题。 (我相信它在Windows上已经有一段时间了,但你右键单击命令图标并选择以管理员身份运行。)
对于Windows文件锁定问题:
你可能有一个过时的进程仍然写入/读取文件锁定。我注意到这实际上经常发生在Windows上。最简单的解决方案就是重启,但有一些程序可以找到并删除文件锁。