打包present, but unavailable

前言

本地打包一直失败,报错这 com.ctg.mq:ctg-mq-server:pom:2.7.7 (present, but unavailable)这几个包存在,但是无法依赖,另一台电脑可以,这几个包是公司内部jar,多方检查,对比版本都无法解决,尝试了网上很多办法

[ERROR] Failed to execute goal on project fssc-public-core: Could not collect dependencies for project com.eshore.fssc:fssc-public-core:jar:0.0.1-SNAPSHOT
[ERROR] Failed to read artifact descriptor for com.ctg.mq:ctg-mq-remoting:jar:2.7.7
[ERROR] 	Caused by: The following artifacts could not be resolved: com.ctg.mq:ctg-mq-server:pom:2.7.7 (present, but unavailable): Could not transfer artifact com.ctg.mq:ctg-mq-server:pom:2.7.7 from/to huaweicloud (https://mirror.huaweicloud.com/repository/maven/): mirror.huaweicloud.com: nodename nor servname provided, or not known
[ERROR] Failed to read artifact descriptor for com.ctg.mq:ctg-mq-client:jar:2.7.7
[ERROR] 	Caused by: The following artifacts could not be resolved: com.ctg.mq:ctg-mq-server:pom:2.7.7 (present, but unavailable): com.ctg.mq:ctg-mq-server:pom:2.7.7 failed to transfer from https://mirror.huaweicloud.com/repository/maven/ during a previous attempt. This failure was cached in the local repository and resolution is not reattempted until the update interval of huaweicloud has elapsed or updates are forced. Original error: Could not transfer artifact com.ctg.mq:ctg-mq-server:pom:2.7.7 from/to huaweicloud (https://mirror.huaweicloud.com/repository/maven/): mirror.huaweicloud.com: nodename nor servname provided, or not known
[ERROR] Failed to read artifact descriptor for com.ctg.mq:ctg-mq-common:jar:2.7.7
[ERROR] 	Caused by: The following artifacts could not be resolved: com.ctg.mq:ctg-mq-server:pom:2.7.7 (present, but unavailable): com.ctg.mq:ctg-mq-server:pom:2.7.7 failed to transfer from https://mirror.huaweicloud.com/repository/maven/ during a previous attempt. This failure was cached in the local repository and resolution is not reattempted until the update interval of huaweicloud has elapsed or updates are forced. Original error: Could not transfer artifact com.ctg.mq:ctg-mq-server:pom:2.7.7 from/to huaweicloud (https://mirror.huaweicloud.com/repository/maven/): mirror.huaweicloud.com: nodename nor servname provided, or not known
[ERROR] 
[ERROR] -> [Help 1]

1df5ef71f2cc61e0dd80221a8a8bb437

分析

  • 网上说应该mvn idea:idea重构一下idea与maven依赖,虽然确实能显示打包成功,但是实际启动,运行依然报上述错误参考文章:开发问题,参数错误,程序包找不到,JAR冲突
  • 尝试使用 mvn clean package -U -X手动打包,-U参数会强制update本地的jar(不用再专门去删除),还是同类别错误参考文章
  • 尝试将maven从3.9.11版本降低到另一台可以打包的电脑3.5.4版本,使用同等setting 依然无法成功maven历史版本
  • 尝试取消勾选 maven>Runner>Delegate IDE build/run action to Maven 参考文章
  • .......多方尝试均无法解决,太玄学

解决

后来停下来仔细想想,既然是JAR问题,索性找到他们的POM重新下载安装,因为公网没有这几个jar,两台电脑分别是不同系统,win/Mac,使用相同的方法反向安装到maven仓库
idea 反向安装jar包到仓库,可以看这个学习下
使用相同的命令,我确定报错的时候,这几个JAR没啥问题,安装都是相同命令
复制pom

        <dependency>
            <groupId>com.ctg.mq</groupId>
            <artifactId>ctg-mq-common</artifactId>
            <version>2.7.7</version>
        </dependency>

反向命令(注意cmd目录)

  mvn install:install-file -DgroupId=com.ctg.mq -DartifactId=ctg-mq-common -Dversion=2.7.7 -Dpackaging=jar -Dfile=ctg-mq-common-2.7.7.jar

于是决定把这三个有问题的重新删除,重新复制pom路径,重新从可以打包的仓库复制jar重新反向安装
这里注意:maven3.5.4是一个一个提示那个jar有问题,我一个个安装的,3.9.11最新版是一次性提醒你N个jar有问题,所以逐个击破,先clear再install,即可解决,比较伤脑筋,也很麻烦,折腾了一天,早上就想到是这个问题,重新安装了一次,没解决,下午切换3.5.4,先安装,在打包,一个个即可,clear清除后,使用3.9.11打包也没问题,推断出还是jar反向安装的问题,提供个大家一个思路

过程

  1. 3.5.4打包
    b375546dfd0beea4139f5d55409d5fc5

  2. 3.9.11打包
    1df5ef71f2cc61e0dd80221a8a8bb437

  3. 反向安装一个报错的jar,错误减少一个,3.9.11
    5c7645861747e7497e79b2a046779cc9

  4. 不删除仓库原有的jar直接命令安装,报错
    906879f5816d54ae7a9104f9d94608ae

  5. 清空目录,可以打包,也可试试删除其他的文件
    a836c08d0bc81f0cd02eb9bcc2fb3e0c

posted @ 2025-09-28 16:11  HezhezhiyuLe  阅读(8)  评论(0)    收藏  举报