關(guān)于maven使用過程中無法導(dǎo)入依賴的一些總結(jié)
maven使用過程中無法導(dǎo)入依賴的一些總結(jié)
作為一名java開發(fā)的新手,在學(xué)習(xí)中難免遇見各種問題,在此總結(jié)一下。
在使用maven過程中總是碰見某些依賴導(dǎo)不進去的問題,本人使用的是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.有些情況可能是倉庫中的沒有下載成功的文件導(dǎo)致的,需要清理倉庫。
以下是我寫的一個批處理程序用來清理倉庫
@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中新建一個工程,再導(dǎo)入那些報錯的依賴,手動導(dǎo)入一下就成功了
4.手動用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
這個命令就不細說了,網(wǎng)上有詳細的說明
maven不自動導(dǎo)入依賴問題
最近做項目時直接復(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>
因為之前沒有學(xué)習(xí)過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)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
- idea創(chuàng)建maven父子工程導(dǎo)致子工程無法導(dǎo)入父工程依賴
- 解決IDEA無法下載maven依賴的問題
- IDEA 2020.1 版自動導(dǎo)入MAVEN依賴的方法(新版MAVEN無法自動導(dǎo)入/更新POM依賴、MAVEN設(shè)置自動更新、自動更新快捷鍵)
- IDEA中創(chuàng)建maven項目引入相關(guān)依賴無法下載jar問題及解決方案
- idea2020.1無法自動加載maven依賴的jar包問題及解決方法
- IDEA最新版2020.1的maven工程本地依賴倉庫無法使用問題(已解決)
- maven無法依賴spring-cloud-stater-zipkin的解決方案
相關(guān)文章
一文詳解SpringBoot中CommandLineRunner接口
Spring Boot的CommandLineRunner接口是一個函數(shù)式接口,用于在Spring Boot應(yīng)用程序啟動后執(zhí)行一些初始化操作,它提供了一個run方法,該方法在應(yīng)用程序啟動后被調(diào)用,本文給大家詳細介紹了SpringBoot中CommandLineRunner接口,需要的朋友可以參考下2023-10-10mybatis簡介與配置_動力節(jié)點Java學(xué)院整理
這篇文章主要介紹了mybatis簡介與配置,介紹了MyBatis+Spring+MySql簡單配置,有興趣的可以了解一下2017-09-09SpringBoot實現(xiàn)阿里云短信發(fā)送的示例代碼
這篇文章主要為大家介紹了如何利用SpringBoot實現(xiàn)阿里云短信發(fā)送,文中的示例代碼講解詳細,對我們學(xué)習(xí)或工作有一定幫助,需要的可以參考一下2022-04-04SpringBoot 實現(xiàn)定時任務(wù)的方法詳解
這篇文章主要介紹了SpringBoot 實現(xiàn)定時任務(wù)的方法詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-08-08Java上傳文件進度條的實現(xiàn)方法(附demo源碼下載)
這篇文章主要介紹了Java上傳文件進度條的實現(xiàn)方法,可簡單實現(xiàn)顯示文件上傳比特數(shù)及進度的功能,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下2015-12-12Spring Boot集成 Spring Boot Admin 監(jiān)控
這篇文章主要介紹了Spring Boot集成 Spring Boot Admin 監(jiān)控,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08