admin管理员组文章数量:1618730
1. 背景
idea导入新项目,maven使用3.8.1版本,在import时一直报错,如下:
mysql:mysql-connector-java:pom:8.0.27 failed to transfer from https://maven.aliyun/repository/public during a previous attempt. This failure was cached in the local repository and resolution is not reattempted until the update interval of nexus has elapsed or updates are forced. Original error: Could not transfer artifact mysql:mysql-connector-java:pom:8.0.27 from/to nexus (https://maven.aliyun/repository/public): transfer failed for https://maven.aliyun/repository/public/mysql/mysql-connector-java/8.0.27/mysql-connector-java-8.0.27.pom
尝试使用 -U 标记(强制更新快照)运行 Maven 导入
上述报错含义为 失败缓存在本地储存库中,直到nexus的更新间隔已过或强制更新,才会重新尝试解析。建议使用-U
选项强制更新。
根据此报错信息,我们可以得到如下两种解决方案。
2. 解决过程
2.1 删除缓存文件
进入maven仓库中该依赖包的缓存文件夹,将里面的文件全部删除。
注:当我们拉取jar包失败的时候,本地库就会生成lastUpdated 文件。 拉取成功的使用可以在本地仓库中查看到jar包。
2.2 使用-U
参数
mvn import -U
该命令执行以下操作:
它会检查项目的 pom.xml 文件中定义的依赖项,并与 Maven 仓库中的最新版本进行比较。
如果 Maven 仓库中存在更新的版本,mvn import -U 命令将下载并更新项目的依赖项到最新版本。
-U 标志告诉 Maven 强制检查所有的依赖项,即使它们已经存在于本地仓库中。这样可以确保项目使用的是最新的依赖项版本。
2.3 修改配置文件路径
尝试了上面两种操作,并且各种清除缓存后,仍然是一开始的报错。经过仔细观察报错信息发现,依赖是从aliyun仓库查找的,但是我本地setting并没有配置这一仓库,那么aliyun这个仓库是从哪来的呢?
通过在网上查询maven配置默认仓库发现,maven安装包下的conf目录下面存在setting.xml
,里面配置的确实是aliyun。截止到目前终于找到了问题所在,问题也转变成为:为什么idea手动指定的setting文件不生效?
通过查询官网发现,setting文件一般会出现在两个位置:
${maven.home}/conf/settings.xml
(全局设置)${user.home}/.m2/settings.xml
(用户设置)
用户设置的优先级高于全局设置的优先级,最终如果两个位置都存在settings.xml,则最终会将两个配置合并,冲突部分按照用户设置来。
idea中maven配置默认使用用户设置,其次使用global settings。当以上两个配置文件均不存在,才会使用用户手动指定的配置文件。
最后,解决方法如下
-
直接修改默认配置(全局或者用户配置)
-
删除全局配置及用户配置,手动指定配置路径
-
mvn clean install -s /path/to/your/settings.xml
如果你想在使用 Maven 的命令行中手动指定 settings.xml 文件的路径,可以使用 -s 参数来实现。以下是使用 命令的解释:
mvn:表示运行 Maven 命令。
clean:表示执行 Maven 的 clean 生命周期,清理项目生成的文件。
install:表示执行 Maven 的 install 生命周期,将项目构建并安装到本地仓库。
-s /path/to/your/settings.xml:表示使用指定路径下的 settings.xml 文件作为 Maven 的配置文件。确保将 /path/to/your/settings.xml 替换为实际的 settings.xml 文件的路径。
通过在命令行中使用 -s 参数指定 settings.xml 文件的路径,可以覆盖默认的 Maven 配置文件位置,并确保 Maven 使用你指定的配置文件。
至此,问题解决。
本文标签: 报错failureimportmavenResolution
版权声明:本文标题:maven 3.8.1 import 报错:This failure was cached in the local repository and resolution is not reattemp 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1728782766a1172936.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论