微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

解决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文件,之前下载失败的依赖都可以顺利下载了

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐