java.lang.NoClassDefFoundError: javax/servlet/AsyncListener解决
程序员文章站
2022-07-12 16:07:23
...
问题: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文件是无效的。
推荐阅读
-
解决cannot be cast to javax.servlet.Filter 报错的问题
-
java.lang.NoClassDefFoundError: javax/servlet/AsyncListener解决
-
关于使用maven + Tomcat7-maven-plugin管理并运行web项目抛出cannot be cast to javax.servlet.Servlet的问题和解决
-
解决cannot be cast to javax.servlet.Filter 报错的问题
-
idea中springboot用外部tomcat启动报错java.lang.NoClassDefFoundError: javax/el/ELManager的解决办法
-
java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config
-
java.lang.NoClassDefFoundError:javax/servlet/jsp/jstl/core/Config
-
解决无法解析javax.servlet的方法
-
关于使用maven + Tomcat7-maven-plugin管理并运行web项目抛出cannot be cast to javax.servlet.Servlet的问题和解决