【maven相关问题】Could not transfer artifact ...与Transfer failed for ...报错及解决办法

一、问题描述

拉取一个新项目后,maven解析下载文件时出现如下报错信息:

二、错误原因分析

提示信息是传输失败,无法传输的原因应该是出现错误的包文件夹已经缓存在本地存储库中,然后maven在经过发布的更新间隔或强制进行更新之前,不会重新尝试解析(实际上是没有从远程拉下来到本地)。

  1. 但是实际上本地仓库的包文件夹中并没有所需文件,由于本地仓库存在该文件夹,maven在下载时也不会去远程仓库下载,造成本地文件不可用。

  2. 由于本地库从nexus中请求jar文件,如果私服中不存在则取网上下载,如果网速过慢,下载时间超过了maven设置的时间限制就会报该错误。

注意:也有可能是你的nexus仓库地址发生了更改(例如公司需要变动),注意这个需要检查pom.xml文件中有关nexus仓库配置的所有地址url!!!。

除了仓库标签,还有pluginRepositories标签,distributionManagement标签。

XML 复制代码
<repositories>
        <repository>
            <id>releases</id>
            <name>releases</name>
            <url>http://nexus.****.cn/repository/release/</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
        <repository>
            <id>snapshots</id>
            <name>snapshots</name>
            <url>http://nexus.****.cn/repository/snapshots/</url>
            <releases>
                <enabled>false</enabled>
            </releases>
        </repository>
    </repositories>

三、解决办法

办法一:

Windows中本地仓库的路径在C盘的**{user}** /.m2/repository下,在仓库中按照这个路径找下去,如果发现里面没有jar包,只有一些文件。这就说明该文件夹在下载时出现了一些问题。

具体流程可以参考下图,参考链接中还包含了其他解决办法可供尝试()。

方法二:

根据方法一找到出错的包的路径删除对应的文件,或者直接将本地库里面这个报错的依赖对应的文件夹删掉,然后重新在右侧maven菜单中reload一下,应该就没问题了。

参考

【Maven】maven工程错误之Failure to transfer根本解决法 -- 源码巴士

eclipse - Maven error "Failure to transfer..." - Stack Overflow

使用maven时出现Failure to transfer 错误的解决方法-CSDN博客

相关推荐
凸头6 分钟前
以AtomicInteger为例的Atomic 类的底层CAS细节理解
java·jvm·算法
艾派森9 分钟前
基于 Rokid CXR-M SDK 构建 AR 远程专家协作系统:从零实现眼镜端自定义 UI 与实时交互
java
cxyxiaokui00124 分钟前
🔥不止于三级缓存:Spring循环依赖的全面解决方案
java·后端·spring
UCoding29 分钟前
我们来学AI编程 -- vscode开发java
java·vscode·ai编程
一线大码31 分钟前
开发 Java 项目时的命名规范
java·spring boot·后端
neoooo32 分钟前
Apollo兜底口诀
java·后端·架构
程序员小假32 分钟前
什么是线程池?它的工作原理?
java·后端
盖世英雄酱5813639 分钟前
java 深度调试【第一章:堆栈分析】
java·后端
本就一无所有 何惧重新开始1 小时前
Redis技术应用
java·数据库·spring boot·redis·后端·缓存
低音钢琴1 小时前
【SpringBoot从初学者到专家的成长11】Spring Boot中的application.properties与application.yml详解
java·spring boot·后端