码迷,mamicode.com
首页 > 编程语言 > 详细

maven2报xxxServlet cannot be cast to javax.servlet

时间:2017-05-22 16:36:54      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:except   ann   接口   mave   pom.xml   xxx   exce   span   pid   

由于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

标签:except   ann   接口   mave   pom.xml   xxx   exce   span   pid   

原文地址:http://www.cnblogs.com/JAYIT/p/6889675.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!