java.lang.NoClassDefFoundError: javax/servlet/AsyncListener解决

阅读更多

问题:spring3.2的架构在tomcat6.0中无法正常启动,抛出java.lang.NoClassDefFoundError: javax/servlet/AsyncListener错误

 

原因:

1:org.springframework.web.servlet-3.2支持Servlet3.0的版本。

2:tomcat6.0只支持Servlet2.5,而tomcat7.0支持Servlet3.0。从而造成需求方和供应方对Servlet版本的不兼容。

 

解决方案:

将tomcat6.0/lib文件夹下的servlet-api.jar文件替换为tomcat7.0的。

注意:一定要替换tomcat/lib下的jar,如果放到WEB-INF/lib中同样会报错。原因:tomcat6.0是提供servlet-api.jar的,且在启动时加载jar文件的顺序是先从tomcat6.0/lib开始,然后再加载WEB-INF/lib。所以只放在WEB-INF/lib中,jar文件是无效的。

你可能感兴趣的:(java.lang.NoClassDefFoundError: javax/servlet/AsyncListener解决)