關(guān)于maven使用過(guò)程中無(wú)法導(dǎo)入依賴(lài)的一些總結(jié)
maven使用過(guò)程中無(wú)法導(dǎo)入依賴(lài)的一些總結(jié)
作為一名java開(kāi)發(fā)的新手,在學(xué)習(xí)中難免遇見(jiàn)各種問(wèn)題,在此總結(jié)一下。
在使用maven過(guò)程中總是碰見(jiàn)某些依賴(lài)導(dǎo)不進(jìn)去的問(wèn)題,本人使用的是idea2017、maven3.2版本,通過(guò)網(wǎng)上搜索和自己的經(jīng)驗(yàn)歸納為一下幾點(diǎn):
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ù)中的沒(méi)有下載成功的文件導(dǎo)致的,需要清理倉(cāng)庫(kù)。
以下是我寫(xiě)的一個(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ò)的依賴(lài),手動(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)入依賴(lài)問(wèn)題
最近做項(xiàng)目時(shí)直接復(fù)制了別人的pom文件的內(nèi)容,可是復(fù)制過(guò)來(lái)的Maven依賴(lài)一直爆紅,不下載依賴(lài)。
<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)橹皼](méi)有學(xué)習(xí)過(guò)maven,都是直接復(fù)制依賴(lài)就可以用了,所以對(duì)maven的各種標(biāo)簽不是很熟悉。
開(kāi)始以為是中央倉(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),而是連下載都沒(méi)有開(kāi)始,于是開(kāi)始改標(biāo)簽。最終把dependencyManagement標(biāo)簽刪掉后居然開(kāi)始下載了。后面查了一下才發(fā)現(xiàn)dependencyManagement用于父工程管理依賴(lài)的,用于統(tǒng)一管理jar的版本,在父工程的時(shí)候只是用來(lái)聲明,并不會(huì)下載,只有子工程要用到的時(shí)候才會(huì)去下載。而本地又沒(méi)用這些依賴(lài)的jar版本,所以才會(huì)一直爆紅。
解決辦法
是將dependencyManagement標(biāo)簽去掉,jar包就會(huì)開(kāi)始下載了,等下載完成后再加上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>
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- idea創(chuàng)建maven父子工程導(dǎo)致子工程無(wú)法導(dǎo)入父工程依賴(lài)
- 解決IDEA無(wú)法下載maven依賴(lài)的問(wèn)題
- IDEA 2020.1 版自動(dòng)導(dǎo)入MAVEN依賴(lài)的方法(新版MAVEN無(wú)法自動(dòng)導(dǎo)入/更新POM依賴(lài)、MAVEN設(shè)置自動(dòng)更新、自動(dòng)更新快捷鍵)
- IDEA中創(chuàng)建maven項(xiàng)目引入相關(guān)依賴(lài)無(wú)法下載jar問(wèn)題及解決方案
- idea2020.1無(wú)法自動(dòng)加載maven依賴(lài)的jar包問(wèn)題及解決方法
- IDEA最新版2020.1的maven工程本地依賴(lài)倉(cāng)庫(kù)無(wú)法使用問(wèn)題(已解決)
- maven無(wú)法依賴(lài)spring-cloud-stater-zipkin的解決方案
相關(guān)文章
一文詳解SpringBoot中CommandLineRunner接口
Spring Boot的CommandLineRunner接口是一個(gè)函數(shù)式接口,用于在Spring Boot應(yīng)用程序啟動(dòng)后執(zhí)行一些初始化操作,它提供了一個(gè)run方法,該方法在應(yīng)用程序啟動(dòng)后被調(diào)用,本文給大家詳細(xì)介紹了SpringBoot中CommandLineRunner接口,需要的朋友可以參考下2023-10-10mybatis簡(jiǎn)介與配置_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要介紹了mybatis簡(jiǎn)介與配置,介紹了MyBatis+Spring+MySql簡(jiǎn)單配置,有興趣的可以了解一下2017-09-09SpringBoot實(shí)現(xiàn)阿里云短信發(fā)送的示例代碼
這篇文章主要為大家介紹了如何利用SpringBoot實(shí)現(xiàn)阿里云短信發(fā)送,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)或工作有一定幫助,需要的可以參考一下2022-04-04SpringBoot 實(shí)現(xiàn)定時(shí)任務(wù)的方法詳解
這篇文章主要介紹了SpringBoot 實(shí)現(xiàn)定時(shí)任務(wù)的方法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08Java上傳文件進(jìn)度條的實(shí)現(xiàn)方法(附demo源碼下載)
這篇文章主要介紹了Java上傳文件進(jìn)度條的實(shí)現(xiàn)方法,可簡(jiǎn)單實(shí)現(xiàn)顯示文件上傳比特?cái)?shù)及進(jìn)度的功能,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下2015-12-12Spring Boot集成 Spring Boot Admin 監(jiān)控
這篇文章主要介紹了Spring Boot集成 Spring Boot Admin 監(jiān)控,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08Java語(yǔ)言獲取TCP流的實(shí)現(xiàn)步驟
使用Wireshark分析網(wǎng)絡(luò)包時(shí),一個(gè)很常用的功能就是選中一個(gè)TCP報(bào)文,然后查看這個(gè)TCP報(bào)文的TCP流,從而可以進(jìn)一步分析建連是否慢了,斷連是否正常等情況,那么本文就TCP流的概念以及在Java中如何獲取,做一個(gè)簡(jiǎn)單的學(xué)習(xí),需要的朋友可以參考下2023-11-11