解決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文件,之前下載失敗的依賴都可以順利下載了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM