maven無(wú)法自動(dòng)導(dǎo)入依賴jar包解決方式
第一章、maven無(wú)法導(dǎo)入依賴
1.1)問(wèn)題:maven無(wú)法導(dǎo)入依賴
maven點(diǎn)擊Reimport導(dǎo)入按鈕,jar包依然導(dǎo)入不進(jìn)來(lái)。
1.2)解決方案
1.2.1)確保本地倉(cāng)庫(kù)路徑配置正確
要確保本地倉(cāng)庫(kù)路徑配置正確:
打開(kāi)Maven安裝路徑下/config/settings.xml文件。 在文件中找到<localRepository>標(biāo)簽。 確保標(biāo)簽中的值是你想要設(shè)置的本地倉(cāng)庫(kù)路徑,例如: <localRepository>D:/tool/repository</localRepository>
如圖:
1.2.2)確定pom文件中的</dependency>依賴導(dǎo)入配置沒(méi)有寫錯(cuò)
pom文件的格式通常如下:注意版本,ID不要寫錯(cuò)
<dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.2</version> </dependency>
1.2.3)確保idea的maven配置不要寫錯(cuò)
打開(kāi)IDEA—》File—》setting—》build—》build tools —》maven查看右側(cè)配置,是否為自己的maven安裝路徑
第二章、maven中只有Lifecycle,Dependencies和Plugins消失
2.1)問(wèn)題:maven中只有Lifecycle,Dependencies和Plugins消失
在idea中導(dǎo)入一個(gè)新的maven項(xiàng)目出現(xiàn)如圖情況,Dependencies和Plugins消失。
maven導(dǎo)入時(shí),idea內(nèi)無(wú)法運(yùn)行并提示“Unable to import maven project: See logs for details
其中maven版本3.8.9
ide版本2018.3
2.2)解決方案:
2.2.1)嘗試clean然后install
先查看IDE的maven配置是否有問(wèn)題
嘗試清理 IDE 的緩存(clean)并重新構(gòu)建項(xiàng)目(install),有時(shí) IDE 的緩存可能導(dǎo)致依賴顯示錯(cuò)誤
2.2.2)確認(rèn)maven版本是否匹配
②查看idea的運(yùn)行日志
help–》show log in explor
③發(fā)現(xiàn)日志提示3.8.9的maven版本太高,需要降低到3.3版本,降到3.3.9后就好了
第三章、無(wú)法安裝獨(dú)有的本地jar包
3.1)問(wèn)題:無(wú)法安裝獨(dú)有的本地jar包
①內(nèi)網(wǎng)環(huán)境連接不上外網(wǎng),無(wú)法從遠(yuǎn)程倉(cāng)庫(kù)下載jar包,只能自己安裝。
②一些獨(dú)特項(xiàng)目的獨(dú)有jar包,我們也無(wú)法從遠(yuǎn)程倉(cāng)庫(kù)下載,只能自己安裝。**
3.2)解決方案
3.2.1)確保本地倉(cāng)庫(kù)有完整jar包,使用命令安裝
①使用命令
本地倉(cāng)庫(kù)路徑配置正確,本地倉(cāng)庫(kù)里也有jar包,但是依然導(dǎo)入不了jar包,可以運(yùn)行下面的命令,將JAR包安裝到本地倉(cāng)庫(kù)。
打開(kāi)命令行工具(如CMD、Shell或其他終端)輸入:
mvn install:install-file -Dfile=/localpath/t/xxxexample.jar -DgroupId=yourGroupId -DartifactId=yourArtifactId -Dversion=yourVersion -Dpackaging=jar
②命令解釋
/localpath/t/xxxexample.jar是包含jar包名稱的JAR文件路徑。
yourGroupId、yourArtifactId和yourVersion 是pom文件中jar包的Maven坐標(biāo),根據(jù)具體需求來(lái)替換。
-Dpackaging=jar 是固定寫法不用替換,指定包的類型為JAR。
3.2.2)通過(guò)resource導(dǎo)入本地jar包
自動(dòng)導(dǎo)入失敗,使用安裝命令還是安裝不了,那就試試手動(dòng)引入jar包吧。
①pom文件中添加以下插件和插件配置
<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <includeSystemScope>true</includeSystemScope> </configuration> </plugin>
②在resource文件夾下創(chuàng)建jar文件路徑,存放我們自己的jar包
③在pom文件中添加jar包配置和系統(tǒng)路徑配置
<dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity-engine-core</artifactId> <version>2.0</version> <scope>system</scope> <systemPath> ${project.basedir}/src/main/resources/jar/velocity-engine-core-2.0.jar </systemPath> </dependency>
3.2.3)非maven項(xiàng)目,直接把jar包放在lib目錄下
對(duì)于非Maven項(xiàng)目,你可以直接將所需的jar包放在項(xiàng)目的lib目錄下。然后,你可以通過(guò)IDE將這些jar包添加到項(xiàng)目的構(gòu)建路徑中項(xiàng)目就可以使用這些jar包中的類和功能。
①在項(xiàng)目的目錄新建lib文件夾
②把jar包直接復(fù)制進(jìn)lib目錄后—》選中l(wèi)ib目錄再右鍵選擇Add as Library
依賴就導(dǎo)入了。
3.2.4)maven項(xiàng)目,jar包放在lib下導(dǎo)致的問(wèn)題及解決
①pom文件中添加以下插件和插件配置
<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <includeSystemScope>true</includeSystemScope> </configuration> </plugin>
②將所需的jar包放在項(xiàng)目的lib目錄下,通過(guò)修改pom.xml文件來(lái)配置Maven以使用這些本地jar包作為依賴項(xiàng)。
<dependencies> <dependency> <groupId>com.example</groupId> <artifactId>example</artifactId> <version>1.0</version> <scope>system</scope> <systemPath>${basedir}/lib/example.jar</systemPath> </dependency> </dependencies>
這種方式導(dǎo)致的問(wèn)題1、打包時(shí)缺少依賴項(xiàng): Maven可能無(wú)法正確地將本地jar包打包到最終文件中,因?yàn)樗粫?huì)自動(dòng)將本地jar包打包到構(gòu)建產(chǎn)物中。
2、不可移植: 如果項(xiàng)目需要在其他環(huán)境中構(gòu)建,其他環(huán)境可能無(wú)法找到本地jar包的路徑,導(dǎo)致構(gòu)建失敗。
3、難以管理: 使用本地jar包作為依賴項(xiàng)可能會(huì)導(dǎo)致依賴管理變得困難,特別是在團(tuán)隊(duì)合作或持續(xù)集成環(huán)境中。
解決:打包時(shí)排除第三方依賴,并把第三方依賴輸出到指定目錄使用maven的插件maven-dependency-plugin
maven-dependency-plugin的copy-dependencies目標(biāo)會(huì)將所有依賴(包括Maven中的依賴和lib目錄下的依賴)復(fù)制到target/lib目錄下。
<build> <plugins> <plugin> <!--打包時(shí)去除第三方依賴--> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <layout>ZIP</layout> <includes> <include> <groupId>non-exests</groupId> <artifactId>non-exests</artifactId> </include> </includes> </configuration> </plugin> <!--拷貝第三方依賴到指定目錄--> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <id>copy-dependencies</id> <phase>package</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <!--targer/lib是依賴jar包的輸出目錄,根據(jù)喜好配置--> <outputDirectory>target/lib</outputDirectory> <excludeTransitive>false</excludeTransitive> <stripVersion>false</stripVersion> <includeScope>runtime</includeScope> </configuration> </execution> </executions> </plugin> </plugins> </build>
當(dāng)依賴被復(fù)制到target/lib目錄后,就可以通過(guò)在運(yùn)行時(shí)使用命令來(lái)引用這些依賴。
-Djava.ext.dirs參數(shù): 通過(guò)在運(yùn)行時(shí)使用-Djava.ext.dirs參數(shù)來(lái)指定target/lib目錄依賴目錄。 java -Djava.ext.dirs=target/lib -jar yourapp.jar //或者這樣 java -Dloader.path=./lib -jar xxx.jar
第四章、pom文件不報(bào)紅,maven依賴爆紅。
4.1)檢查確認(rèn)pom文件沒(méi)錯(cuò),但是maven依賴爆紅。
4.2)解決方案:
把所有依賴注釋掉點(diǎn)擊刷新Reimport
放開(kāi)注釋,點(diǎn)擊刷新Reimport,再次reload maven依賴
到此這篇關(guān)于maven無(wú)法自動(dòng)導(dǎo)入依賴jar包解決方式的文章就介紹到這了,更多相關(guān)maven無(wú)法自動(dòng)導(dǎo)入依賴jar包內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- maven導(dǎo)入本地jar包的三種方式
- Maven配置文件修改及導(dǎo)入第三方j(luò)ar包的實(shí)現(xiàn)
- Maven導(dǎo)入本地jar包的實(shí)現(xiàn)步驟
- 如何把本地jar包導(dǎo)入maven并pom添加依賴
- 將下載好的jar包導(dǎo)入到本地maven倉(cāng)庫(kù)中操作
- maven實(shí)現(xiàn)jar包導(dǎo)入+導(dǎo)出方式
- 解決IDEA中maven導(dǎo)入jar包一直報(bào)錯(cuò)問(wèn)題
- 如何在IDEA Maven項(xiàng)目中導(dǎo)入本地jar包的步驟
- IDEA引MAVEN項(xiàng)目jar包依賴導(dǎo)入問(wèn)題解決方法
- maven?導(dǎo)入resource?lib文件夾中的jar的幾種方法
相關(guān)文章
Mybatis-Plus實(shí)現(xiàn)自定義SQL具體方法
Mybatis-Plus是Mybatis的一個(gè)增強(qiáng)工具,它可以優(yōu)化我們的開(kāi)發(fā)效率,這篇文章主要介紹了Mybatis-Plus實(shí)現(xiàn)自定義SQL,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-08-08Springboot-注解-操作日志的實(shí)現(xiàn)方式
這篇文章主要介紹了Springboot-注解-操作日志的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03SpringBoot整合Redis時(shí)遇到連接問(wèn)題的解決方法
在使用Spring Boot整合Redis的過(guò)程中,經(jīng)常會(huì)遇到連接問(wèn)題,尤其是當(dāng)Redis服務(wù)部署在遠(yuǎn)程服務(wù)器上時(shí),所以本文給大家介紹了SpringBoot整合Redis遇到連接問(wèn)題的解決方法,需要的朋友可以參考下2024-11-11使用json字符串插入節(jié)點(diǎn)或者覆蓋節(jié)點(diǎn)
這篇文章主要介紹了使用json字符串插入節(jié)點(diǎn)或者覆蓋節(jié)點(diǎn)的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08Spring創(chuàng)建Bean完成后執(zhí)行指定代碼的幾種實(shí)現(xiàn)方式
在實(shí)際開(kāi)發(fā)中經(jīng)常會(huì)遇到在spring容器加載完某個(gè)bean之后,需要執(zhí)行一些業(yè)務(wù)代碼的場(chǎng)景,本文給大家介紹Spring創(chuàng)建Bean完成后執(zhí)行指定代碼的幾種實(shí)現(xiàn)方式,感興趣的朋友一起看看吧2024-01-01