maven項目(引入依賴失敗, pom.xml 報錯\爆紅)

☺ 引入項目過程中,idea引入磁盤的某個的maven項目

這裡以springboot項目以例子,發現pom.xml 的依賴大面積爆紅,springboot的版本依賴也報錯了,然後發現下面有進度條在下載,下載了非常久還沒有下載成功

  • 對於springboot項目版本依賴報錯
    解決方式1:更換一個spirngboot版本;
    解決方式2:等待繼續下載該版本的spirngboot依賴(尤其是第一次使用該版本的springboot依賴會下載比較久);
    建議:平時建立springboot項目,springboot的版本盡量使用某個穩定的版本

  • 其他依賴報錯
    考慮引入maven項目方式,比如在idea 直接 open 打開springboot的maven項目,這種引入方式默認的maven配置是在C盤,而我的maven安裝目錄是在E盤,導致本地倉庫已有的一些依賴沒法給項目使用上
    解決方式:修改一下idea maven的配置;

為什麼要選擇open 引入maven項目呢?因為idea版本問題[我的idea 是 2020.03],沒有import 的方式呀

image

  • 考慮若是父子工程,父工程使用了標籤 管理依賴,要先注釋掉該標籤以及管理的所有依賴,然後子工程下載完成好需要的依賴後,再恢復該標籤

☺ 寫項目過程中,pom.xml 文件引入某個依賴失敗/ maven項目中 jar包下載失敗的解決

一、常規解決操作

1、maven的jar包提示找不到

  • 刷新,等它下載完成[可以看到有進度條在下載,同樣對於建立項目的時候,pom.xml 爆紅,也是看到進度條在下載,那麼就等它下載]
  • 更換該jar包對應的version [ 選擇手動輸入groupId和artifactId,這樣它就會提示version ]

2、考慮項目是不是父子工程(單一模塊/多模塊)

  • 如果是maven的父子工程,考慮父工程中是否使用標籤 <dependencyManagement> 來管理依賴,如果有使用該標籤,則會導致的一種情況是:子模塊中導入某個依賴(該依賴不需要再父工程導入,只用在某個子模塊中),子模塊導入成功,沒有報錯但是通過maven工具的窗口觀察,發現依賴並沒有出現在Dependecies
  • 再次驗證依賴可能真的沒有導入成功的方式是: 按住ctr點擊引入依賴的groupId或artifactId標籤,進入該文件,發現爆紅,則真的沒有導入成功

image

image

3、考慮是引錯公司提供的的名稱相同的jar包[即groupId:不同,公司不同、artifactId:相同,項目名相同]

■ 介紹一下 maven 的pom.xml 中的依賴的坐標groupId、artifactId:

  • groupId: 公司域名,項目的包名
  • artifactId:項目名

———— 之所以介紹 groupId、artifactId,是因為在 pom.xml 有時候引入依賴發生錯誤,提示找不到類的時候,需要考慮是不是 groupId、artifactId 引入錯誤 ————

■ 舉例,artifactId:同樣是 commons.codec的,在maven倉庫中,就找到了三個不同的groupId:

<!-- 在項目引入報錯,提示找不到 -->
<!-- //mvnrepository.com/artifact/commons.codec/commons-codec -->
<dependency>
    <groupId>commons.codec</groupId>
    <artifactId>commons-codec</artifactId>
    <version>1.6</version>
</dependency>
<!-- 在項目引入成功,可以正常使用該jar包的方法 -->
<!-- //mvnrepository.com/artifact/commons-codec/commons-codec -->
<dependency>
    <groupId>commons-codec</groupId>
    <artifactId>commons-codec</artifactId>
    <version>1.15</version>
</dependency>
<!-- 在項目引入成功,可以正常使用該jar包的方法 -->
<!-- //mvnrepository.com/artifact/org.apache.directory.studio/org.apache.commons.codec -->
<dependency>
    <groupId>org.apache.directory.studio</groupId>
    <artifactId>org.apache.commons.codec</artifactId>
    <version>1.8</version>
</dependency>

實在不行,手動導入!!!

二、手動下載引入操作

1、從maven倉庫下載對應版本的jar包到自己的電腦:

2、命令行向maven項目導入jar包,然後刷新一下maven項目:

mvn install:install-file -Dfile="jar包的位置" -DgroupId=jar包的groupId坐標 -DartifactId=jar包的artifactId坐標 -Dversion=jar包的version坐標 -Dpackaging=jar

image

image

■ 細節:

1、通過cmd 導入jar包的前提是計算機需要先配置好maven的環境變量

2、install-file之間是沒有空格的