今天一个遇到了一个依赖问题,就是下载的时候可能是因为公司的网速,下载之后一直是.lastUpdated文件,maven爆红,也既是包下烂了,我就去找同事要了它的文件整个替换,整个是同事过来的文件,如图,我直接删除我的2.0.2.M7文件把他的整个文件拷贝过去
结果还是报了maven红,大概是这样子
而且直接编译编译出错,说找不到这个jar
[ERROR] Failed to execute goal on project zeus-common-redis: Could not resolve dependencies for project com.hsjry:zeus-common-redis:jar:1.0.0-SNAPSHOT: Cannot access hundsun-nexus (http://10.253.40.200:6060/nexus/content/groups/public) in offline mode and the artifact redis.clients:jedis:jar:2.9.0 has not been downloaded from it before. -> [Help 1]
就很迷,本地已经是有了这个jar而idea还是找不到,以为是idea的锅,最后发现不是idea的锅
问题就出在我重新刷新加载maven的时候出现了很多.lastUpdated文件,这个是下烂的文件,必须全部删除,远程仓库的配置信息(_remote.repositories),每次在更新maven项目的时候,每一个jar包路径下的_remote.repositories文件都会同setting.xml中设置的仓库地址id进行判断,如果没有匹配,会自动更新该jar包的相关文件,如果未联网则会出现jar无法发现的错误,导致即使jar存在,maven项目也无法使用该jar的情况。同时由于未联网,当下载失败,会生成后缀为.lastUpdated的文件。如果使用公司的内网仓库,_remote.repositories文件变为_maven.repositories。
处理方法就是删除整个仓库的后缀为.repositories,.lastUpdated的文件,同时为保险,我也删除了校验文件(.sha1后缀),idea中删除整个项目(root项目)的依赖,重新引入之后,问题解决。
idea完全清maven
然后ctrl+alt+shift+s,删除所有jar
然后清缓存重启
重启完再重新引入maven即可,点击+然后选择pom文件
置于怎么一次性删除所有的.lastUpdated和.repositories文件,我是用everything,记得开启正则表达式,然后输入正则,一次性全选,全删,完美