如何兩步解決maven依賴導(dǎo)入失敗的問(wèn)題
解決maven依賴導(dǎo)入失敗
由于網(wǎng)絡(luò)問(wèn)題,maven依賴經(jīng)常會(huì)導(dǎo)入失敗,私服上的以來(lái)導(dǎo)入失敗概率低一些,maven中央倉(cāng)庫(kù)上的依賴導(dǎo)入失敗的概率則相對(duì)較高,其實(shí)這個(gè)問(wèn)題很容易解決,但是之前還是見(jiàn)到很多初學(xué)者對(duì)此不知道該如何解決,甚至有人在依賴導(dǎo)入失敗,進(jìn)而導(dǎo)致項(xiàng)目無(wú)法正常運(yùn)行時(shí)還不知道是項(xiàng)目依賴導(dǎo)入失敗,種種原因,我決定寫這篇文章,像大伙介紹一下我在解決這個(gè)問(wèn)題是常用的兩招,基本上這兩招打完,99%的問(wèn)題都解決了,至于剩下的1%,只需要繼續(xù)重復(fù)這兩招,也能解決。
方案一
首先,一般安裝好maven后,網(wǎng)上都會(huì)有教程將maven鏡像站換為aliyun的鏡像站,具體是在setting.xml文件的mirrors節(jié)點(diǎn)中添加如下配置:
<mirror> <id>nexus-aliyun</id> <mirrorOf>*</mirrorOf> <name>Nexus aliyun</name> <url>http://maven.aliyun.com/nexus/content/groups/public</url> </mirror>
如果本地沒(méi)有setting.xml文件,則可以自行創(chuàng)建一個(gè)該文件,相關(guān)節(jié)點(diǎn)要和官方的一致。
但是這個(gè)方案也不是百分百有效的,我之前就遇到這樣的情況,依賴死活下載不下來(lái),鏡像站已經(jīng)改成aliyun的了,還是不行,后來(lái)嘗試把這段配置注釋掉,換回默認(rèn)的下載源,就成功了,因此,當(dāng)小伙伴遇到下載失敗的情況時(shí),可以在官方鏡像站和aliyun之間進(jìn)行切換,勿迷信某一個(gè)就能導(dǎo)入成功。
方案二
有的時(shí)候,依賴雖然下載失敗了,但是相關(guān)文件夾中卻多了以 .lastUpdated為后綴的文件,此時(shí),如果開(kāi)發(fā)者在開(kāi)發(fā)工具中反復(fù)導(dǎo)入,會(huì)發(fā)現(xiàn)始終無(wú)法導(dǎo)入成功,這個(gè)時(shí)候就需要?jiǎng)h除本地倉(cāng)庫(kù)中相關(guān)的 .lastUpdated文件,可以通過(guò)文件搜索找到本地倉(cāng)庫(kù)中所有的以 .lastUpdated為后綴的文件,如下:
找到后全部刪除,再在開(kāi)發(fā)工具中重新導(dǎo)入依賴。
注意:
這兩種方案都試過(guò)之后,還是有可能導(dǎo)入失敗,此時(shí),只需要重復(fù)上面的步驟即可,我個(gè)人目前依賴下載失敗的問(wèn)題,都是通過(guò)以上兩步解決的,屢試不爽。
maven導(dǎo)入JSTL依賴出現(xiàn)異常
(1)類轉(zhuǎn)換異常 : 未能加載或?qū)嵗疶agLibraryValidator類
org.apache.jasper.JasperException: 未能加載或?qū)嵗疶agLibraryValidator類:[org.apache.taglibs.standard.tlv.JstlCoreTLV]
原因 :
沒(méi)有導(dǎo)入依賴 standard jar 包導(dǎo)致的
完整的依賴是 (老版本 , javax包下的)
<!-- https://mvnrepository.com/artifact/javax.servlet.jsp.jstl/jstl --> <dependency> <groupId>javax.servlet.jsp.jstl</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <!-- https://mvnrepository.com/artifact/taglibs/standard --> <dependency> <groupId>taglibs</groupId> <artifactId>standard</artifactId> <version>1.1.2</version> </dependency> <!-- https://mvnrepository.com/artifact/javax.servlet.jsp.jstl/jstl-api --> <dependency> <groupId>javax.servlet.jsp.jstl</groupId> <artifactId>jstl-api</artifactId> <version>1.2</version> </dependency> <!-- https://mvnrepository.com/artifact/org.glassfish.web/jstl-impl --> <dependency> <groupId>org.glassfish.web</groupId> <artifactId>jstl-impl</artifactId> <version>1.2</version> <scope>runtime</scope> </dependency>
新版本 : (jakarta包下的)只用導(dǎo)入一個(gè)就可以了
<!-- jstl-api --> <dependency> <groupId>jakarta.servlet.jsp.jstl</groupId> <artifactId>jakarta.servlet.jsp.jstl-api</artifactId> <version>2.0.0</version> </dependency>
(2)如果出現(xiàn) <%@taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %> 爆紅的概況
可能是因?yàn)闆](méi)有導(dǎo)入standard包的相關(guān)依賴導(dǎo)致的
<dependency> <groupId>org.apache.taglibs</groupId> <artifactId>taglibs-standard-impl</artifactId> <version>1.2.5</version> <scope>runtime</scope> </dependency> <dependency> <groupId>org.apache.taglibs</groupId> <artifactId>taglibs-standard-spec</artifactId> <version>1.2.5</version> </dependency>
(3)java.lang.NoClassDefFoundError: (類定義未找到異常)javax/servlet/jsp/tagext/TagLibraryValidator
出現(xiàn)錯(cuò)誤主要就是jar沒(méi)有導(dǎo)完全 ,
使用jstl所需要的jar共有 :
<!-- servlet.jsp-api --> <dependency> <groupId>jakarta.servlet.jsp</groupId> <artifactId>jakarta.servlet.jsp-api</artifactId> <version>3.0.0</version> </dependency> <!-- servlet-api --> <dependency> <groupId>jakarta.servlet</groupId> <artifactId>jakarta.servlet-api</artifactId> <version>5.0.0</version> <scope>provided</scope> </dependency> <!-- jstl-api --> <dependency> <groupId>jakarta.servlet.jsp.jstl</groupId> <artifactId>jakarta.servlet.jsp.jstl-api</artifactId> <version>2.0.0</version> </dependency> <!-- jstl --> <dependency> <groupId>org.glassfish.web</groupId> <artifactId>jakarta.servlet.jsp.jstl</artifactId> <version>2.0.0</version> </dependency> <!--standard-impl--> <dependency> <groupId>org.apache.taglibs</groupId> <artifactId>taglibs-standard-impl</artifactId> <version>1.2.5</version> <scope>runtime</scope> </dependency> <!--standard-spec--> <dependency> <groupId>org.apache.taglibs</groupId> <artifactId>taglibs-standard-spec</artifactId> <version>1.2.5</version> </dependency>
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- 解決Maven依賴沖突的方法
- maven多模塊依賴版本不一致問(wèn)題解決
- idea?maven依賴引入失效無(wú)法正常導(dǎo)入依賴問(wèn)題的解決方法
- maven下載依賴失敗問(wèn)題及解決
- maven?解包依賴項(xiàng)中的文件的解決方法
- Maven導(dǎo)入依賴時(shí)爆紅的幾種解決方法
- 關(guān)于Maven依賴沖突解決之exclusions
- 基于Maven導(dǎo)入pom依賴很慢的解決方案
- 使用idea解決maven依賴沖突的問(wèn)題
- Maven導(dǎo)入依賴時(shí)報(bào)錯(cuò)如何解決
- Maven重復(fù)依賴問(wèn)題解決(同一個(gè)jar多個(gè)版本)
相關(guān)文章
Spring切面優(yōu)先級(jí)與基于xml的AOP實(shí)現(xiàn)方法詳解
這篇文章主要介紹了Spring切面的優(yōu)先級(jí)與基于xml的AOP的詳細(xì)步驟,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-11-11java使用EasyExcel實(shí)現(xiàn)合并單元格
這篇文章主要為大家詳細(xì)介紹了java使用EasyExcel實(shí)現(xiàn)合并單元格的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-12-12Java多線程案例實(shí)戰(zhàn)之定時(shí)器的實(shí)現(xiàn)
在Java中可以使用多線程和定時(shí)器來(lái)實(shí)現(xiàn)定時(shí)任務(wù),下面這篇文章主要給大家介紹了關(guān)于Java多線程案例之定時(shí)器實(shí)現(xiàn)的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-01-01SpringBoot中maven項(xiàng)目打成war包部署在linux服務(wù)器上的方法
這篇文章主要介紹了SpringBoot中maven項(xiàng)目打成war包部署在linux服務(wù)器上的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05SpringBoot版本升級(jí)容易遇到的一些問(wèn)題
由于項(xiàng)目需求,需要將nacos 1.4.6版本升級(jí)到2.x版本,由此引發(fā)的springboot、springcloud、springcloud Alibaba一系列版本變更,本文給大家總結(jié)一下SpringBoot版本升級(jí)容易遇到的一些問(wèn)題,需要的朋友可以參考下2023-12-12Java方法調(diào)用解析靜態(tài)分派動(dòng)態(tài)分派執(zhí)行過(guò)程
這篇文章主要為大家介紹了Java方法調(diào)用解析靜態(tài)分派動(dòng)態(tài)分派執(zhí)行過(guò)程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06