Maven工程Missing artifact 解决方法

前提说明
maven版本:3.2.2

eclipse已经正确引入自己安装的maven,且设置好仓库位置

 

出现错误
引入maven工程时,pom.xml出现错误如:

 

出错原因
一般都是导入别人的工程,因为自己的maven环境、仓库配置信息、下载的jar包来源、甚至时IDE环境不一致导致

 

解决思路
1.检查maven本地仓库中是否存在改包

    (1)若存在:删掉_maven.repositories和_remote.repositories文件(或用文本编辑器打开,将“>main=”改为“>=”,即删除main,当然main也可能是其他值),删除xxxx.lastUpdate相关文件,然后update project 或 update dependency

    (2)不存在看第2条

2.settings.xml文件是否配置了mirror,即maven下载jar的仓库;是否联网;若都没问题看第3条

3.去settings.xml文件配置的mirror仓库地址查看对应的jar是否存在这个仓库。若找不到,那就换mirror吧,推荐国内网速较快的镜像地址:

    <mirror>
        <id>alimaven</id>
        <name>aliyun maven</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
        <mirrorOf>central</mirrorOf>
    </mirror>


放到<mirrors>标签中即可

 

或者其它mirror地址如:开源中国的等等

4.直接去maven中央仓库手动对应版本的jar,放到本地仓库对应位置,删除文件夹内不相关文件,重新项目右键-->maven -->update 依赖或者update project

注:
所有关于maven配置或jar或依赖的变更最好都重新:项目右键-->maven -->update dependency或者update project


自己解决方式
找到了我的仓库对应的jar位置,发现存在改jar,删除对应的jar:

 

eclipse中对项目:右键-->maven--->update project

问题解决!

附加
_maven.repositories简介:

_maven.repositories hold the information about the origin of the artefacts. Maven tries to update your jar from the old location (as saved in _maven.repositories) and fails. The presumtion here is that the same aftifact on a different remote repository might be different.

 

但是! 还有一个alipay-sdk-java报错说找不到相应jar,去本地仓库看,发现jar包存在,pom配置如下:

<dependency>
<groupId>com.alipay</groupId>
<artifactId>alipay-sdk-java</artifactId>
<version>20161129201425</version>
</dependency>

  初次猜测是否配置名字写的有问题,然后对比其他正确的maven 依赖配置,发现和错误的没有什么区别,想了一下,猜测是不是因为alipay-sdk-java有2个“-”,系统读取不到,然后去掉一个,改后配置为:

<dependency>
<groupId>com.alipay</groupId>
<artifactId>alipay-sdk</artifactId>
<version>20161129201425</version>
</dependency>

再把jar包所在本地仓库的位置也改成一样,再执行 maven update,

遂,解决!

以上为个人尝试过的解决方案,若有其它解决方案,或者出错说明,欢迎留言,不胜感激!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值