maven項目(引入依賴失敗, pom.xml 報錯\爆紅)
- 2022 年 7 月 27 日
- 筆記
- 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 的方式呀
- 考慮若是父子工程,父工程使用了標籤
管理依賴,要先注釋掉該標籤以及管理的所有依賴,然後子工程下載完成好需要的依賴後,再恢復該標籤
☺ 寫項目過程中,pom.xml 文件引入某個依賴失敗/ maven項目中 jar包下載失敗的解決
一、常規解決操作
1、maven的jar包提示找不到
- 刷新,等它下載完成[可以看到有進度條在下載,同樣對於建立項目的時候,pom.xml 爆紅,也是看到進度條在下載,那麼就等它下載]
- 更換該jar包對應的version [
選擇手動輸入groupId和artifactId
,這樣它就會提示version ]
2、考慮項目是不是父子工程(單一模塊/多模塊)
- 如果是maven的父子工程,考慮父工程中是否使用標籤 <
dependencyManagement
> 來管理依賴,如果有使用該標籤,則會導致的一種情況是:子模塊中導入某個依賴(該依賴不需要再父工程導入,只用在某個子模塊中),子模塊導入成功,沒有報錯,但是通過maven工具的窗口觀察,發現依賴並沒有出現在Dependecies
; - 再次驗證依賴可能真的沒有導入成功的方式是: 按住ctr點擊引入依賴的groupId或artifactId標籤,進入該文件,發現爆紅,則真的沒有導入成功
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包
到自己的電腦:
- maven 倉庫地址://mvnrepository.com/
2、命令行向maven項目導入jar包
,然後刷新一下maven項目:
mvn install:install-file -Dfile="jar包的位置" -DgroupId=jar包的groupId坐標 -DartifactId=jar包的artifactId坐標 -Dversion=jar包的version坐標 -Dpackaging=jar