今天开发时很多maven依赖导入失败,而导入失败的依赖都是之前项目没有用到过的,也就是本地maven仓库resporitiy中不存在的jar包没有自动下载,研究了一下午(参考文章:Maven配置及Maven集成idea工具),烦的要命。
首先根据这种情况我推断①我们maven配置大体是没错的,不然仓库中已有的jar包也不会导入,检查了下配置我的初始Maven配置如下,和我的maven安装目录位置、maven的setting配置文件位置、maven本地repository位置都是一致的(我的maven安装目录是D:\devlp\maven_work)
注意:如果maven仓库在setting中配置的和在IDEA中设置的位置不一样并不会出错而是以idea中配置的为主。
最后改成了如下
这个.m2是maven自动生成的,默认位置是在C:/Users/用户文件夹/.m2,到底是个什么道理我也很懵逼,但改成上面这样后问题就解决了,之前引入失败的jar包全部成功导入。
总之:按我第一种配置,此时我个人指定的respority只是能导入仓库里面已有的jar包,但是没有的jar包却无法从中央仓库下载,后来我更换成了.m2下的respority后,解决了之前的问题,也就是可以从中央仓库正常下载了。
虽然完全解决了问题,但我却更懵逼了,求路过的大神指点迷津
类似的玄学还有就是maven依赖一口气导入多个,maven会报找不到依赖错误错,界面标红
Dependency 'xxxx' not found
但当前maven的配置环境和IDEA的maven集成环境都是是正确的,这时我们先把之前一口气复制的依赖删除掉,再一个个的引入,既可以引入依赖成功,参考文章:IDEA-Maven的Dependencies中出现红色波浪线,还算比较有权威的一篇博文,但依然没有讲出个所以然,我个人猜测和maven仓库缓存有关系,同样求指点。
maven绑定安装目录,settings文件,repository目录位置
补充:maven导入失败