Library Maven: has broken classes path:
问题叙述:
今天在整理 ssm 框架的项目时,发现项目里的 web.xml 有冒红的依赖包,鼠标移动上去发现这种错误
Cannot resolve class or package ‘springframework’ less… (Ctrl+F1) Inspection info:Spring XML mode
然后打开 File -> Project Structure -> Problems 发现有问题
大概像下面这种
(这个因为当时没及时截图,借用了网上的类似的图片,如有侵权,请联系我,及时更改)
解决方案:
仔细研究后,发现 Problem 里面的依赖包的路径对不上,于是开始检查
第一步检查 settings file 和 Local repository 的路径有没有问题,发现没问题后
第二步开始怀疑是不是 pom.xml 里面相关的 springframework 的依赖包没导入成功。
发现都没有问题后
重回第一步检查 Problem 里面的详细内容,然后发现,出现问题的几个依赖包路径不太对,然后在同一个界面里找到 Libraries ,发现有几个红名的
点进去一看,它们的 Classes 红的彻底
正常的路径应该是这样的
细心的你不知道发现了没有,他们两个的区别就在于 5.0.2.. 中的 .
然后找到相关路径
真相了
5.0.2..RELEASE 是个什么玩意?
再重回 File -> Project Structure -> Libraries 深究(图片是修改错误后的,所以没冒红)
发现类似的错误还有好多个包,都是 5.0.2..RELEASE
原因分析:
启动名侦探柯南模式
查看“盗版” 5.0.2..RELEASE 和 “正版” 5.0.2.RELEASE 的文件夹时间,我发现了问题。
“盗版”的文件夹应该是我 maven 没配置阿里云镜像的时候下载的一个失败品,依赖包没下载完成,就留在那里了。
而 “正版” 的文件夹显然时间上对的上,是成功下载完全的依赖包。