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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章