maven2报xxxServlet cannot be cast to javax.servlet

Posted

tags:

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

由于CacheFilter实现了javax.servlet.Filter接口,Filter是在servlet-api.jar里,因此pom中有
 <dependency>  
      <groupId>javax.servlet</groupId>  
     <artifactId>servlet-api</artifactId>  
     <<version>2.4</version>  
</</span>dependency>  
但是tomcat里已经有servlet-api的包,而且版本可能会有不同,所以就会出现ClassCastException的问题
【解决办法】
servlet-api加入provided,如下:
  <dependency> 
     <groupId>javax.servlet</groupId>  
      <artifactId>servlet-api</artifactId>  
      <version>2.4</version>  
       <scope>provided</scope>  
   </dependency>  
这样修改后,servlet-api.jar就不会在运行tomcat时被import进去了,不会与tomcat自带的servlet-api有冲突
【避免此类问题的建议】
注意pom.xml中关于包的scope的定义,解决此类包冲突产生的问题

以上是关于maven2报xxxServlet cannot be cast to javax.servlet的主要内容,如果未能解决你的问题,请参考以下文章

tomcat 启动报错 Cannot allocate memory

nodejs 喜欢报cannot find module .....的简单解决方案

redis写磁盘报错Cannot allocate memory

docker启动报错解决及分析(Cannot create container for service *******: cannot mount volume over existing file,

Zabbix agent启动报错:cannot create semaphore set

汇编报错:Warning: Cannot insert breakpoint 1. Cannot access memory at address 0x1135 解决办法(先不打断点run一遍)(代码