解决"Dependency 'xxxx‘ not found"
导致原因
原因是maven无法在本地仓库和远程仓库中发现依赖,maven是有很多远程仓库的,而maven默认去Central仓库去找依赖的,当然有些人是配置了远程仓库镜像的,比如阿里云maven镜像,但是镜像源中并不包含该依赖,也可能报错。
方法一
添加jar包所在的仓库路径,在maven的settings.xml文件中。
mirrorOf字段的解析:
mirrorOf=“*” //刚才经过,mirror一切,你配置的repository不起作用了(会将用该镜像url代替所有配置的远程参考url)
mirrorOf=my-repo-id //镜像my-repo-id,你配置的my-repo-id仓库不起作用了
mirrorOf=*,!my-repo-id //!表示非运算,排除你配置的my-repo-id仓库,其他仓库都被镜像了。就是请求下载my-repo-id的仓库的jar不使用mirror的url下载,其他都是用mirror配置的url下载
mirrorOf=external:* //如果本地库存在就用本地库的,如果本地没有,所有下载就用mirror配置的url下载
<mirror>
<id>apachemaven</id>
<mirrorOf>external:*</mirrorOf>
<name>apache公共仓库</name>
<url>https://repo1.maven.org/maven2/</url>
</mirror>
方法二
在pom.xml中配置远程仓库,在pom.xml中配置好仓库后,本地找不到就默认去远程仓库找。根据上面mirrorOf的解析,如果你配置mirror:central
,那么在访问远程仓库central,就会被镜像到apachemaven镜像中的url,那么该配置会失效。
<repositories>
<repository>
<id>central</id>
<url>https://repo1.maven.org/maven2/</url>
</repository>
</repositories>
方法三
大部分时候前面两个方法都能奏效,但是有时候maven还是会发病说找不到jar包。明明配置的镜像中存在这个jar包,这个时候就这能自己直接下载jar包啦。如: