Maven 本地仓库明明有jar包,pom文件还是报错解决办法(Missing artifact...jar)

错误截图:

仓库明明有jar包:

搞了一天,各种update project 和maven install还是不行,最后百度解决问题,之前用的是eclipse 版本 2018-12 版本,最近项目需要,换笔记本用mars2火星eclipse,方案如下:(红色文字,最终解决了问题)

maven报错,提示Missing artifact...jar文件 ,其实这些jar包在本地.m2/repository是有的。

 maven中的本地仓库的index索引没有更新导致,项目使用maven管理jar包,很容易因为各种原因(网速慢、断网)导致jar包下载不下来,出现很多.lastUpdated文件。

解决方案:

    首先尝试

工程右键--Maven--Update Project ,一定要选择离线状态一定要选择Offline

如果不行,按下面步骤:     

        1 ,删除.lastUpdated文件

        开始--运行--cmd ,通过命令行进入D:.m2 epository

        粘贴:for /r %i in (*.lastUpdated) do del %i

        回车,删除所有的

         如果解决不了,可删掉所有_maven.repositories,remoute.repositories文件

        2,在eclipse中打开菜单 window-> show view –> other –> Maven -> maven repositories

         打开之后,选择local repositories –> local repository ,右击,选择Build index.

        3,工程右键--Maven--Update Project ,一定要选择离线状态一定要选择Offline

总结:

最后还是通过update project解决问题,不过要勾选上offline,这个单词字面意思是离线,未在线的,也就是有本地仓库有jar包的情况下,勾选后update操作不会从maven远程仓库去查找要更新的jar包,而是从maven本地仓库查找pom.xml中配置的jar包以更新到项目。

后记:

最近在整理公司的一些较老的项目时,再次发现这个问题。又总结了两点,maven项目如果java类报错,说缺少东西,即使你本地仓库有jar包,也要在pom文件中引入相应的依赖,才算加入到项目中。

另外一些老的项目,特别是一些父项目,子项目,有互相依赖关系的项目,如果报的错误,说jar包缺少很多。接谁的项目跟谁要jar包,一个文件夹的要直接,另外本地仓库中尾椎格式为pom的文件是不能删的,以前我以为可以,后来出了问题,还是别删。

原文地址:https://www.cnblogs.com/wanlige/p/12657803.html