springmvc项目单元测试出现的java.lang.NoClassDefFoundError

来源:互联网 发布:seo与竞价排名的关系 编辑:程序博客网 时间:2024/05/16 04:13

      最近在写一个spring-mvc相关的一个项目.在spring 的住配置文件中加入了<mvc:annotation-driven/>[spring3.2+]配置。

      页面能够正常的访问, 不加这样的一段配置的时候单元测试正常。但是一旦加了这段配置,在做单元测试的时候始终出现一个问题 java.lang.NoClassDefFoundError: javax/servlet/AsyncListener ,在网上看了很多的解决方案,无非就是说到这样的一个类不存在或者说是看看tomcat下面是否有一个servlet-api.jar, 不存在就copy一个。

     这似乎不是问题出现的根本原因,按照网上的办法试了几次都无功而返。仔细一想,既然页面访问没有问题,那么tomcat容器就不会有问题,还是得从容器本身着手。想起了jar 的加载时期,对于页面的访问来说,它是依赖了我们的tomcat容器而运行,那么这样的一个包就存在。

     单元测试不再依赖我们的tomcat容器,而是单独的运行,那么就需要这样的一个包。想到此处,毫不犹豫的去tomcat下面把servlet-api.jar[|jsp-api.jar]拷贝到项目下面WEB—INF/lib/junit-dependence 下面 ,再次单元测试,过了 。折腾大半个小时才解决的问题,特记录下来,希望能解决您出现的问题

    

     

      

0 0
原创粉丝点击