maven构建web项目,cannot be cast to javax.servlet.Servlet

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了maven构建web项目,cannot be cast to javax.servlet.Servlet相关的知识,希望对你有一定的参考价值。

调试Spring MVC时发现如下异常:

java.lang.ClassCastException: org.springframework.web.servlet.DispatcherServlet cannot be cast to javax.servlet.Servlet

 

问题出在servlet-api.jar上,tomcat部署springMVC项目时是不用这个包的,而用maven构建项目时需要,如果不引用该依赖就会不识别  HttpServletRequest等的类

解决方法是在maven引用servlet的依赖时,加上属性范围<scope>provided</scope>


而在引用javax.servlet.jsp的依赖时,如果也没有加上 属性范围<scope>provided</scope>,则也会抛出如下异常:


org.apache.jasper.JasperException: Unable to read TLD "META-INF/c.tld" from JAR file "file:/E:/chenzehe/mvnrepo/javax/servlet/jstl/1.2/jstl-1.2.jar": org.apache.jasper.JasperException: Failed to load or instantiate TagLibraryValidator class: org.apache.taglibs.standard.tlv.JstlCoreTLV


以上是关于maven构建web项目,cannot be cast to javax.servlet.Servlet的主要内容,如果未能解决你的问题,请参考以下文章

解决报错:The import javax.servlet.annotation cannot be resolved

maven使用jstl表达式和The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.

maven项目,代码正确的情况下,整个项目中的类报cannot be resolved to a type 错误

Maven项目中提示:Eclipse “cannot be resolved to a type” error

Maven项目 解决cannot be read or is not a valid ZIP file问题

Maven工程中遇到The import *** cannot be resolved问题