这应该是IDEA的bug导致的,我发现不管是Eclipse建的项目,还是IDEA建的项目,都有可能出现本地Maven仓库有jar包,但是项目报错找不到jar包。
今天找到解决方案了,记录一下:
我发现同一个项目,通过git或者svn,clone相同的分支和版本,在某些电脑上正常,某些电脑上报错。
实际上是IDEA在打开项目的时候会在根目录下生成一个以项目名命名的,后缀为.iml的文件。使用不报错的项目的.iml文件覆盖报错的项目.iml文件,错误即可解决,但是还存在一个问题,就是如果你再次执行Maven-》Reimport操作,.iml文件又会恢复成报错时的样子,很可恶的bug。
1.报错时的样子,本地有jar包。
2.两个.iml文件对比,左边是报错项目的文件,右边是不报错项目的文件。
3.使用右边文件覆盖左边文件之后。
至于执行Reimport会导致iml文件恢复为错误文件的问题很是让人头大,我也没找到解决方案。不过好在Reimport并不常用,要不就要经常覆盖.iml文件。有方案的朋友留言哦!