驽马十驾 驽马十驾

驽马十驾,功在不舍

目录
Maven问题常用解决方案
/  

Maven问题常用解决方案

周六在家通过maven打包项目的时候,很诡异爆出了一个java.lang.ClassNotFoundException: org.apache.commons.compress.archivers.zip.ZipArchiveEntry site:stackoverflow.com的问题。

经过百度和谷歌,都没有找到直接的解决方案,最后经过个人的分析解决问题。

造成这个问题的原因其实不算重点,相信大家产生这个问题的的概率应该比较小,但是这个过程中查找到的解决Maven类似问题的方案应该总结并记录下来。

不识庐山真面目,只缘身在此山中。

Maven的解决方案

  1. 方法1:重启。(简答粗暴但是很多时候能解决问题)
  2. 方法2:清空项目,不妨试试Maven的Clean指定,清空项目。
  3. 方法3:清空本地仓库,将本地缓存删除。
  4. 方法4:清空私服的缓存,将私服上相关的缓存删除。
  5. 方法5:当对应的文件下载不下载的时候,可以尝试清空本地仓库的对饮版本的目录或者清空私服上对应仓库版本的目录,特别是.lastupdated这些文件。

本人的错误原因

这个问题因为我的在本地架设了maven 的私服 nexus.

最开始nexus私服上的地址用的是aliyun的公开仓库。

我估摸是因为曾经我从aliyun的maven仓库下载org.apache.commons.compress这个jar的时候因为网络或其他原因下载成功了,但是jar内部可能缺少一些byte。这个不正确的包一直存在在我本地私服仓库中,导致上述错误。

我使用了方法5来解决该问题,耗费了我一个下午的时间。

您有任何建议和意见,请Email联系: hicode_club@163.com

转载请保留出处 HiCode 俱乐部

骐骥一跃,不能十步。驽马十驾,功在不舍。