谷歌搜索了所有东西,但找不到解决我问题的方法。
当我试图将我的项目部署到Tomcat时,我在Tomcat日志中有这样的错误:
SEVERE: Error configuring application listener of class com.sun.faces.config.ConfigureListener
java.lang.NoClassDefFoundError: javax/servlet/ServletRequestListener我试着将它从新鲜Netbeans 6.8部署到新鲜Tomcat 6.0.26,但问题仍然存在。
Servlet-api.jar位于tomcat/lib文件夹中。试着用最新的取代它,但问题仍然存在。
没有编译错误。一切都是正确的。
问题突然开始了。没有代码更改,也没有添加新的jars。
帮助?
UPD:WEB/lib的内容:
发布于 2010-04-09 11:48:32
java.lang.NoClassDefFoundError: javax/servlet/ServletRequestListener
javax.servlet.ServletRequestListener是从Servlet2.4API开始新引入的。你的环境似乎找不到它是由两件事造成的:
web.xml声明为Servlet2.3或更高版本,这迫使服务器采用Servlet2.3遵从模式,要么该服务器根本不支持Servlet2.4。JRE/lib、JRE/lib/ext或Tomcat/lib中放置/更改/删除库。您不应该在Webapp/WEB-INF/lib中放置特定于应用程序的库,因为这没有任何意义。要修复1,请确保您的web.xml至少声明为Servlet2.4。最好是服务器可以支持的最新版本。Tomcat6.0支持Servlet2.5,因此相应地声明web.xml。
要修复2,清除所有污染的分类路径。投入更多的时间来了解更多关于“类路径”的现象。小心处理。
发布于 2010-04-09 09:45:32
Tomcat不附带JSF库,因此您必须将这些库包含在WEB/lib中。从上面的列表中可以明显看出,您忽略了这些内容。对于JSF2 go 这里。
此外,在WEB/lib中不需要servlet,它是一个提供的库。
https://stackoverflow.com/questions/2606249
复制相似问题