Failed to read artifact descriptor

错误日志

Could not resolve dependencies for project xx.war
Failed to read artifact descriptor for xx.jar
The POM for xx.jar is missing, no dependency information available
Failed to collect dependencies at xx.jar
Could not find artifact xxx.jar

背景

报错是在对当前工程进行mvn package时出现,工程结构是,当前工程和其依赖的工程,都有一个共同的parent工程

分析解决

  1. 看字面意思,是缺失依赖工程的jar包,maven下载jar包失败,于是在.m2\repository文件夹下确认,发现是有这个依赖jar包的。
  2. 上网搜索,大部分都是 mvn clean mvn -U install ,于是照做,但是没有任何用处,直接手动将该依赖jar包目录从.m2\repository中删除,再编译当前工程,同样报错
  3. 有的说是nexus私服没有配置好,但是这个依赖jar并不需要从私服下载的,而是依赖工程直接mvn install到本地的.m2\repository文件夹中。
  4. 当前工程和依赖工程的pom.xml中都有个parent

        <parent>
            <artifactId>XXX-XXX-framework</artifactId>
            <groupId>com.XXXX</groupId>
            <version>1.0-SNAPSHOT</version>
     </parent>
    
  5. 在.m2\repository中检查parent工程的jar包,果然发现问题,仅仅只是个空路径,里面没有jar包,于是修改编译脚本,最先将这个parent工程mvn -U install,然后再 mvn -U install 依赖工程,最后再mvn package 当前工程,然后成功,问题解决。

小结

开始陷入误区,一直在寻找报错的依赖jar包,因为这个jar包的名字在错误中最先出现,而且在错误日志中出现的也最多,但是真正出问题的jar包其实是最后一句日志中提到的Could not find artifact xxx.jar

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值