• Failed to read artifact descriptor for xxx:jar 的Maven项目jar包依赖配置的问题解决


    在开发的过程中,尤其是新手,我们经常遇到Maven下载依赖jar包的问题,也就是遇到“Failed to read artifact descriptor for xxx:jar”的错误。

    对于这种非业务相关的问题,耽误时间非常不效率,而且网上的解决思路过于老套,而且还没什么用。

    1)要么就是,删除仓库内对应依赖的文件夹,右单击项目,Maven4MyEclipse->Update Project,在弹出的对话框中选择“Force Update Of Snapshots/Releases",然后点击“OK”。这样就会重新下载这个jar包。

    2)要么就是,将依赖下载至本地,执行mvn install命令,其实这些方法都不适用于eclipse+java的开发中,而且让人头疼。

     

    其实,遇到“Failed to read artifact descriptor for xxx:jar”的报错,就是jar包下载失败而导致的,你可以到Maven的仓库中去查看(也就是.m2 epository那个路径下的)xxx-m2e-lastUpdated.properties文件,用记事本打开,里面描述的报错提示就是“connect timed out(连接超时)”:

    那这个时候,赶紧去在eclipse指定的settings.xml文件添加mirror地址(经测试,http://repo2.maven.org/maven2/可用):

    <mirror>
      <id>repo2</id>
      <mirrorOf>central</mirrorOf>
      <name>Human Readable Name for this Mirror.</name>
      <url>http://repo2.maven.org/maven2/</url>
    </mirror>

    最后,再回到eclipse,右击你所需要下载jar包依赖的项目,选择“Update Project” -> 勾选"Force Update of Snapshots/Releases":

    点击OK之后,就开始自动下载更新,报错的提示就没有了。

    【附录】

    maven仓库用过的人都知道,国内有多么的悲催。还好有比较好用的镜像可以使用,尽快记录下来。速度提升100倍。

    在maven的settings.xml 文件里配置mirrors的子节点,添加如下mirror

        <mirror>
            <id>nexus-aliyun</id>
            <mirrorOf>*</mirrorOf>
            <name>Nexus aliyun</name>
            <url>http://maven.aliyun.com/nexus/content/groups/public</url>
        </mirror> 
  • 相关阅读:
    Go学习(5):集合
    Go学习(4):数组和切片
    Go学习(3):分支循环
    Go学习(2):基本语法
    Go学习(1):简介和配置
    input输入框只能输入数字而且开头不能为零
    JS 显示周 几和 月 日
    IntelliJ Idea 跳出括号并且光标移到末尾的快捷键
    不可小视的String字符串
    PrintWriter中的write与println方法居然就是这些区别
  • 原文地址:https://www.cnblogs.com/cyjs1988/p/6810700.html
Copyright © 2020-2023  润新知