溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

maven使用過(guò)程中無(wú)法導(dǎo)入依賴怎么解決

發(fā)布時(shí)間:2022-08-17 10:23:32 來(lái)源:億速云 閱讀:459 作者:iii 欄目:開發(fā)技術(shù)

本文小編為大家詳細(xì)介紹“maven使用過(guò)程中無(wú)法導(dǎo)入依賴怎么解決”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“maven使用過(guò)程中無(wú)法導(dǎo)入依賴怎么解決”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來(lái)學(xué)習(xí)新知識(shí)吧。

maven使用過(guò)程中無(wú)法導(dǎo)入依賴的一些總結(jié)

1.settings.xml文件中遠(yuǎn)程倉(cāng)庫(kù)地址的設(shè)置

在maven倉(cāng)庫(kù)的配置文件中,一般設(shè)置遠(yuǎn)程倉(cāng)庫(kù)地址為阿里云的私服,國(guó)外的網(wǎng)站也可以就是比較慢,以下為阿里的鏡像

   <mirror>
     <id>nexus-aliyun</id>
     <mirrorOf>*</mirrorOf>
     <name>Nexus aliyun</name>
     <url>http://maven.aliyun.com/nexus/content/groups/public</url>
    </mirror>

2.有些情況可能是倉(cāng)庫(kù)中的沒有下載成功的文件導(dǎo)致的,需要清理倉(cāng)庫(kù)。

以下是我寫的一個(gè)批處理程序用來(lái)清理倉(cāng)庫(kù)

@echo off
title 清理倉(cāng)庫(kù)未下載完成的文件
set REPOSITORY_PATH=E:\Program Files\maven3.2\apache-maven-3.2.3\repository
echo 正在搜索中.....
for /f "usebackq delims==" %%i in ('dir /s "%REPOSITORY_PATH%\*lastUpdated*"') do (
    del /s %%i
)
pause
rem REPOSITORY_PATH是你自己的倉(cāng)庫(kù)地址

3.可能是版本太低的bug,建議換一個(gè)更高版本的maven

我的解決辦法是在idea中新建一個(gè)工程,再導(dǎo)入那些報(bào)錯(cuò)的依賴,手動(dòng)導(dǎo)入一下就成功了

4.手動(dòng)用maven命令導(dǎo)入

例如:

mvn install:install-file -Dfile=D:\spring-framework-4.3.13.RELEASE\libs\spring-test-4.3.13.RELEASE.jar -DgroupId=libs -DartifactId=spring-test -Dversion=4.3.13.RELEASE -Dpackaging=jar

這個(gè)命令就不細(xì)說(shuō)了,網(wǎng)上有詳細(xì)的說(shuō)明 

maven不自動(dòng)導(dǎo)入依賴問(wèn)題

最近做項(xiàng)目時(shí)直接復(fù)制了別人的pom文件的內(nèi)容,可是復(fù)制過(guò)來(lái)的Maven依賴一直爆紅,不下載依賴。

<dependencyManagement>
     <dependencies>
        <!--spring boot 2.2.2-->
        <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-dependencies</artifactId>
          <version>2.2.2.RELEASE</version>
          <type>pom</type>
          <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

因?yàn)橹皼]有學(xué)習(xí)過(guò)maven,都是直接復(fù)制依賴就可以用了,所以對(duì)maven的各種標(biāo)簽不是很熟悉。

開始以為是中央倉(cāng)庫(kù)太卡了下不動(dòng),所以找了各種辦法,網(wǎng)上比較多的說(shuō)法也是說(shuō)使用aliyun的鏡像倉(cāng)庫(kù)。后來(lái)我又是配置mirror,又是重下載新版本maven的。

<mirror>
  <id>aliyunmaven</id>
  <mirrorOf>*</mirrorOf>
  <name>阿里云公共倉(cāng)庫(kù)</name>
  <url>https://maven.aliyun.com/repository/public</url>
</mirror>

一頓操作后都不行.

最后還是不行最后發(fā)現(xiàn)根本就不是卡住下不動(dòng),而是連下載都沒有開始,于是開始改標(biāo)簽。最終把dependencyManagement標(biāo)簽刪掉后居然開始下載了。后面查了一下才發(fā)現(xiàn)dependencyManagement用于父工程管理依賴的,用于統(tǒng)一管理jar的版本,在父工程的時(shí)候只是用來(lái)聲明,并不會(huì)下載,只有子工程要用到的時(shí)候才會(huì)去下載。而本地又沒用這些依賴的jar版本,所以才會(huì)一直爆紅。

解決辦法

是將dependencyManagement標(biāo)簽去掉,jar包就會(huì)開始下載了,等下載完成后再加上dependencyManagement。

     <dependencies>
        <!--spring boot 2.2.2-->
        <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-dependencies</artifactId>
          <version>2.2.2.RELEASE</version>
          <type>pom</type>
          <scope>import</scope>
        </dependency>
    </dependencies>

讀到這里,這篇“maven使用過(guò)程中無(wú)法導(dǎo)入依賴怎么解決”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識(shí)點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過(guò)才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI