问题描述
在pom.xml中配置了依赖,但是提示依赖不成功,或在本地仓库找不到相关依赖
大致错误如下:
ArtifactDescriptorException: Failed to read artifact descriptor for commons-beanutils:commons-beanutils-core:jar:1.8.0: ArtifactResolutionException: Could not transfer artifact commons-beanutils:commons-beanutils-core:pom:1.8.0
解决问题思路
1. 先查看本地仓库是否有这个jar包,即是否下载成功
一般是未下载成功,有时候可能是网络问题,那么删除了重试
即update maven project,右键项目:maven->update project
并勾选force选项,如果勾选force,那么不用删除未下载成功的残余文件,在大量jar包未下载成功的时候可以选择勾选force
2. 查看仓库配置
如果发现没有下载成功,则立即检查eclipse连接的仓库是否有问题
window->show view->maven repositories
如果仓库配置正确了,掠过此步骤,如果这里的仓库地址配置不对
那么看settings.xml
%m2_home%\settings.xml
是否配置镜像
注意这里对应public仓库
或者是否有配置仓库
当然,有的项目在pom.xml里面也指定了仓库地址,那么以pom.xml为优先考虑
3. 去仓库查看是否有对应的jar
搜索仓库,如果发现了对应的jar,基本是网络问题,或者是之前的仓库配置有问题
配置正确重试即可,如果没有,那么说明现有的仓库里没有对应的jar,解决方法有2种
1)配置更多的仓库
看public仓库的配置
左边的仓库表示是正在用的仓库,如果有Central,基本能下载到常用的jar
如果没有,可以考虑再添加新的仓库,有时候可能我们把Central拖到右边去了,导致下载不到
2)自己上传jar到仓库
具体请参考我之前的文章:Maven实战(十)利用 Nexus 来构建企业级 Maven 仓库
4. 更新maven index
以上方法试过了都不行,可以重新更新索引
如下图:
右键仓库并选择update index
最后强制更新maven项目,基本就可以了,如果还有问题,请联系我