關(guān)于maven使用過程中無法導入依賴的一些總結(jié)
maven使用過程中無法導入依賴的一些總結(jié)
作為一名java開發(fā)的新手,在學習中難免遇見各種問題,在此總結(jié)一下。
在使用maven過程中總是碰見某些依賴導不進去的問題,本人使用的是idea2017、maven3.2版本,通過網(wǎng)上搜索和自己的經(jīng)驗歸納為一下幾點:
1.settings.xml文件中遠程倉庫地址的設(shè)置
在maven倉庫的配置文件中,一般設(shè)置遠程倉庫地址為阿里云的私服,國外的網(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.有些情況可能是倉庫中的沒有下載成功的文件導致的,需要清理倉庫。
以下是我寫的一個批處理程序用來清理倉庫
@echo off
title 清理倉庫未下載完成的文件
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是你自己的倉庫地址3.可能是版本太低的bug,建議換一個更高版本的maven
我的解決辦法是在idea中新建一個工程,再導入那些報錯的依賴,手動導入一下就成功了
4.手動用maven命令導入
例如:
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
這個命令就不細說了,網(wǎng)上有詳細的說明
maven不自動導入依賴問題
最近做項目時直接復(fù)制了別人的pom文件的內(nèi)容,可是復(fù)制過來的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>
因為之前沒有學習過maven,都是直接復(fù)制依賴就可以用了,所以對maven的各種標簽不是很熟悉。
開始以為是中央倉庫太卡了下不動,所以找了各種辦法,網(wǎng)上比較多的說法也是說使用aliyun的鏡像倉庫。后來我又是配置mirror,又是重下載新版本maven的。
<mirror> ? <id>aliyunmaven</id> ? <mirrorOf>*</mirrorOf> ? <name>阿里云公共倉庫</name> ? <url>https://maven.aliyun.com/repository/public</url> </mirror>
一頓操作后都不行.
最后還是不行最后發(fā)現(xiàn)根本就不是卡住下不動,而是連下載都沒有開始,于是開始改標簽。最終把dependencyManagement標簽刪掉后居然開始下載了。后面查了一下才發(fā)現(xiàn)dependencyManagement用于父工程管理依賴的,用于統(tǒng)一管理jar的版本,在父工程的時候只是用來聲明,并不會下載,只有子工程要用到的時候才會去下載。而本地又沒用這些依賴的jar版本,所以才會一直爆紅。
解決辦法
是將dependencyManagement標簽去掉,jar包就會開始下載了,等下載完成后再加上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>
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
IDEA+Maven創(chuàng)建Spring項目的實現(xiàn)步驟
這篇文章主要介紹了IDEA+Maven創(chuàng)建Spring項目的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-07-07
10個Java程序員熟悉的面向?qū)ο笤O(shè)計原則
這篇文章主要為大家詳細介紹了Java程序員應(yīng)當知道的10個面向?qū)ο笤O(shè)計原則,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-03-03
詳解SpringBoot Mybatis如何對接多數(shù)據(jù)源
這篇文章主要為大家介紹了SpringBoot Mybatis如何對接多數(shù)據(jù)源實現(xiàn)方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-09-09
java WebSocket客戶端斷線重連的實現(xiàn)方法
在工作中是否會遇到實用websocket客戶端連接服務(wù)端的時候,網(wǎng)絡(luò)波動,服務(wù)端斷連的情況,本文可以直接使用的斷線重連,感興趣的可以了解一下2021-10-10

