解决Maven依赖下载不全的问题

背景描述

在日常学习过程中使用Maven构建SpringBoot+SpringCloud服务时,有时会使用非正式版的SpringBoot和SpringCloud(非正式版是指不是最终发布的版本,而是测试版或里程碑版本,例如:2.0.0.BUILD-SNAPSHOT、Finchley.BUILD-SNAPSHOT、2.0.0.M3、Finchley.M2这些都属于非正式版,而像1.5.16.RELEASE这样的RELEASE版本即为正式版),一般在工作中构建微服务都会使用正式版本进行构建,因为正式版本稳定,Bug少。而我在学习过程中使用了SpringBoot:2.0.0.BUILD-SNAPSHOT和SpringCloud:Finchley.BUILD-SNAPSHOT这两个非正式版本,结果发现有好多依赖下载不下来,比如:spring-cloud-starter-openfeign和spring-boot-starter-data-jpa在当前版本中怎么都下载不下来,下面说说这些依赖无法下载的原因和解决办法。

为啥依赖会下载不下来呢?

首先确定你的GAV是正确的(GAV:groupId、artifactId、version),其次确定你刷新了Pom文件

如果上面两点确认无误,但依赖还是下载不下来,那么唯一可能的原因就是,你没有配置非正式版本的repository地址和pluginRepository地址

由于使用的是非正式版,大部分依赖也都是非正式版本的依赖,而Maven默认会去正式版本的库里找相应的依赖,而正式版本的repository中肯定不会有非正式版本的依赖,所以导致你的依赖一直无法成功下载。

那怎么解决呢?

在你的Pom文件中增加以下配置,即非正式版本库的相关配置:

<repositories>
    <repository>
        <id>spring-snapshots</id>
        <name>Spring Snapshots</name>
        <url>https://repo.spring.io/snapshot</url>
        <snapshots>
        <enabled>true</enabled>
        </snapshots>
    </repository>
    <repository>
        <id>spring-milestones</id>
        <name>Spring Milestones</name>
        <url>https://repo.spring.io/milestone</url>
    </repository>
</repositories>
<pluginRepositories>
    <pluginRepository>
        <id>spring-snapshots</id>
        <name>Spring Snapshots</name>
        <url>https://repo.spring.io/snapshot</url>
        <snapshots>
        <enabled>true</enabled>
        </snapshots>
    </pluginRepository>
    <pluginRepository>
        <id>spring-milestones</id>
        <name>Spring Milestones</name>
        <url>https://repo.spring.io/milestone</url>
    </pluginRepository>
</pluginRepositories>

然后刷新Pom文件,之前下载失败的依赖都可以顺利下载了

posted @ 2022-08-19 15:47  全力以赴001  阅读(1107)  评论(0编辑  收藏  举报