记录一次POM文件导包失败

文章讲述了在学习SpringCloud时遇到的pom依赖包爆红问题,尝试了刷新Maven、检查配置、调整IDEA与Maven版本等方法,最后发现是dependencyManagement标签导致的。解决办法是移除该标签,确保本地仓库拥有所需的包。
摘要由CSDN通过智能技术生成

一. 问题所在
在学习springCloud的时候,在pom进行依赖包插入,发现有部分依赖包爆红,试了很多方法都没用,爆红如下:

在这里插入图片描述

二. 寻找解决办法

1.刷新maven
在这里插入图片描述

或者右键pom文件

在这里插入图片描述

发现这个方法没用,下载包的进度条都是一闪而过

2.检查配置
点这里,进mavenp配置看看配好没
在这里插入图片描述

我的如下

在这里插入图片描述

然后右键pom文件,查看setting配置

在这里插入图片描述

检查了镜像也没错

在这里插入图片描述

镜像:

<mirror>
      <id>alimaven</id>
      <mirrorOf>central</mirrorOf>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public</url>
    </mirror>

3.后来甚至卸载了高版本的maven,卸载是因为idea和maven确实有版本匹配问题
对照关系如下:
IDEA 2022 兼容 Maven 3.8.1 及以上版本
IDEA 2021 兼容 Maven 3.8.1 及以上版本
IDEA 2020 兼容 Maven 3.6.3 及之前所有版本
IDEA 2018 兼容 Maven 3.6.1 及之前所有版本

我的idea是2021的,maven的版本是3.6.2,适配,考虑版本问题是因为我之前用3.8的版本maven

4.后来试了很多方法都没用,比如重新加载pom,清理缓存重启,重新build等

三. 问题解决
最终解决掉问题是用了如下办法:把这个去掉

<dependencyManagement>
</dependencyManagement>

原因:先看代码

 <dependencyManagement>
        <dependencies>
         <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <version>1.18.12</version>
                <scope>provided</scope>
  </dependency>
 </dependencies>
</dependencyManagement>

dependencyManagement是maven语法提供的标签,用来统一管理jar包依赖的版本,但是不会引入依赖;相对于dependencyManagement,所有生命在dependencies里的依赖都会自动引入,并默认被所有的子项目继承。

总结:如果本地仓库还没有这些包,那就要在父类工程里先把dependencyManagement去掉,让本地拥有这些包,然后再把这个标签添加进来(这个标签作为maven管理标签在子父工程里发挥着巨大的作用)

去掉这个标签后,可以下载未有的包了:
在这里插入图片描述
不再爆红

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值