打开手动安装的jar maven时出错

时间:2015-01-22 13:27:27

标签: java maven jar maven-2

我有几个与我在项目中使用的内部项目有关的罐子。它们使用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文件。 这可能是什么问题?

感谢。

1 个答案:

答案 0 :(得分:0)

在查看你的maven输出并没有真正发现错误后,我真的只能得出结论,这是Windows文件权限问题或Windows文件锁定问题。

对于Windows文件权限:

我建议您尝试以“管理员”的身份运行所有内容,或者递归地删除/添加权限.m2,以便所有用户都可以读写,以查看是否存在问题。 (我相信它在Windows上已经有一段时间了,但你右键单击命令图标并选择以管理员身份运行。)

对于Windows文件锁定问题:

你可能有一个过时的进程仍然写入/读取文件锁定。我注意到这实际上经常发生在Windows上。最简单的解决方案就是重启,但有一些程序可以找到并删除文件锁。