服务热线

029-87595239

当前位置:首页 > 社区新闻 > 技术文章 >

servlet-api包冲突问题的解决

许多人在项目中用的是Maven管理而用到的是servlet3.0的技术,但是项目中用到servlet3.0时,一直提示的是找不到类的方法。最后在网上查询了很多方法,得以解决,西安Java培训可以将所得的经验分享出来。

条件:我在pom.xml中装备了servlet-api 3.0,装备如下:

成果:在项目中用到servlet3.0的当地报错,提示没有可用的办法

右键点击工程properties -> Java Build Path -> Libraries -> Maven Dependencies。如下图所示:

servlet_api包的冲突.png

上图中显现的是servlet2.3而不是3.0

 解决办法:

       网上都说servlet-api抵触是由于项目部署的时分WEB-INFO/lib下面的servlet-apiservlet中的servlet-api发生抵触,其实我的否则。由于我的项目是用maven办理的,在pom.xml中装备包依靠的时分装备了commons-logging包的依靠,而commons-logging包又依靠于servlet-api2.3,因而我以为servlet-api2.33.0版别给冲掉了。解决办法如下:   

    commons-logging 

    commons-logging 

   1.1.1 

   javax.servlet 

   servlet-api 

  org.mortbay.jetty 

  servlet-api-2.5 

  6.1.14 

provided         

如果上述办法不好使,那么能够在pom.xml装备文件中把servlet3.0的装备代码拿commons-logging之前,如

    javax.servlet 

    javax.servlet-api 

    3.0.1 

    commons-logging 

    commons-logging 

    1.1.1  

 不一定是commons-logging包,最安全的办法是放在最前面。