maven项目读取jar包失败:error in opening zip file

前几天遇到了这个问题一直没有解决,正值中秋佳节(放假)看了许多,最后看了idea中warning中的提示信息,终于找到这个解决办法。

项目中使用了maven,而且搭建了nexus 私服。

经常会遇到如下问题:

(一)

使用maven构建的项目下面都有一个pom.xml文件,里面设置了该项目的依赖的jar包。第一次因为没有联网或者nexus服务未启动,导致下载jar失败,以后依然下载失败。后来终于找到了原因:

因为第一次下载失败时,会在C:\Users\huangwei\.m2\repository 中生成对应jar包的lastUpdated文件,如xwork-core-2.1.6.jar.lastUpdated。因为有这个lastUpdated文件,所以以后都不会真正下载xwork-core-2.1.6.jar了。

解决方法:(1)在执行mvn compile 之前把lastUpdated 文件删除;

 

(2)mvn compile -U

 

(二)使用maven 编译(mvn compile)时,报错:maven source 1.3 中不支持泛型

解决方法:在项目的pom.xml中添加:

Xml代码  收藏代码

  1. <build>  
  2.     <plugins>  
  3.       <plugin>  
  4.         <groupId>org.apache.maven.plugins</groupId>  
  5.         <artifactId>maven-compiler-plugin</artifactId>  
  6.         <configuration>  
  7.           <source>1.6</source>  
  8.           <target>1.6</target>  
  9.         </configuration>  
  10.       </plugin>  
  11.     </plugins>  
  12.     </build>  

 

 

 

(三)执行 mvn deploy时报错:java.lang.OutOfMemoryError: Java heap space



 

解决方法:

执行deploy时指定jre的参数

-Xms128M -Xmx512M

 

 

(四)使用nexus 时,eclipse中 Maven Repositories 视图中的Global Repositories下的nexus 无法展开



 解决方法:

对nexus 中Public Repositories 先执行“Rebuild Metadata”,再执行“Update Index”:



 

(五)使用eclipse 执行deploy部署项目时报错,报错信息如下:

 

Xml代码  收藏代码

  1. Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project demoManagement: Failed to deploy artifacts: Could not find artifact com.kunlunsoft.jn:demoManagement:war:1.1.0-RELEASE in tdr_vks_management_release (http://192.168.2.150:8088/nexus/content/repositories/kunlun_management_release/) -> [Help 1]  

 项目名为demoManagement

刚开始以为是pom。xml中finalName 引起的。结果发现nexus 压根儿没有叫“kunlun_management_release”的仓库。

根本原因:pom.xml中snapshotRepository指定的仓库不存在

 

 

最后用了这个办法解决:把已经下好的maven库放到了C盘(不在原来所在的D盘),根本原因就是Jar损坏了,但是不清楚这个解决办法的依据是什么。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值