maven导入spring依赖报错,eclipse导入maven项目依赖报错
00-1010 maven依赖关系方案1和方案2导入失败的解决方案maven导入JSTL依赖关系时出现异常。
00-1010由于网络问题,maven依赖项导入经常失败,私有服务器上导入失败的概率较低,maven中央仓库上导入失败的概率相对较高。其实这个问题很容易解决,但是之前我还是看到很多初学者不知道怎么解决这个问题,甚至有的人在项目无法正常运行的时候不知道是项目导入失败。由于种种原因,我决定写这篇文章。下面给大家介绍一下我用来解决这个问题的两个常用招数。基本上经过这两招,99%的问题都解决了。至于剩下的1%,只要重复这两招就能解决。
00-1010首先,一般maven安装后,网上都会有教程把maven镜像站改成阿里云镜像站。具体来说,在setting.xml文件的mirrors节点中添加以下配置:
mirror idnexus-aliyun/id mirror of */mirror of name nexus aliyun/name URL 3358 maven . aliyun.com/nexus/content/groups/public/URL/mirror如果本地没有setting.xml文件,可以自己创建一个,相关节点要和官方一致。
然而,这个方案并不是100%有效。我之前也遇到过这样的情况,生死攸关,下载不了。镜像站已经换成阿里云的了,还是不行。后来我试着注释掉这一段配置,切换回默认下载源,成功了。所以小伙伴遇到下载失败的时候,可以在官方镜像站和阿里云之间切换,不要迷信这个或者那个。
00-1010有时候虽然下载失败,但是有很多文件带有。相关文件夹中的lastUpdated后缀。这时,如果开发者在开发工具中反复导入,就会发现导入永远无法成功。这时,有必要删除相关的。本地仓库中的lastUpdated文件,以及所有带有。本地仓库中的lastUpdated后缀可以通过文件搜索找到,如下:
找到依赖项后删除所有依赖项,然后在开发工具中再次导入。
注意:
两种方案都试过了,还是有可能导入失败。这时只需要重复上述步骤即可。个人认为我目前依赖下载失败的问题是通过以上两步解决的,屡试不爽。
目录
(1)类转换异常 : 未能加载或实例化TagLibraryValidator类
org . Apache . jasper . jasper exception 3360无法加载或实例化TagLibraryValidator类:[org . Apache . taglibs . standard . TLV . jstlcoretlv]
原因:
没有依赖于标准jar包的导入。
完整的依赖项是(旧版本,在javax包下)
!-https://mvnrepository.com/artifact/javax.servlet.jsp.jstl/jstl-依赖groupIdjavax.servlet.jsp.jstl/groupId artifactId jstl/artifactId版本1.2/version /dependency!-https://mvnrepository.com/artifact/taglibs/standard-依赖关系groupId taglibs/groupId artifactId standard/artifactId版本1.1.2/version /dependency!-https://mvn repository.com/artifact/javax . servlet . JSP . jstl/jstl-API-依赖组
Id>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包下的)只用导入一个就可以了
<!-- jstl-api --><dependency> <groupId>jakarta.servlet.jsp.jstl</groupId> <artifactId>jakarta.servlet.jsp.jstl-api</artifactId> <version>2.0.0</version></dependency>
(2)如果出现 <%@taglib prefix=c uri=http://java.sun.com/jsp/jstl/core %> 爆红的概况
可能是因为没有导入standard包的相关依赖导致的
<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
出现错误主要就是jar没有导完全 ,
使用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>
以上为个人经验,希望能给大家一个参考,也希望大家多多支持盛行IT。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。