一. 问题所在
在学习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管理标签在子父工程里发挥着巨大的作用)
去掉这个标签后,可以下载未有的包了:
不再爆红