首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将JSF项目从Netbeans部署到Tomcat的问题

将JSF项目从Netbeans部署到Tomcat的问题
EN

Stack Overflow用户
提问于 2010-04-09 09:23:37
回答 2查看 4.6K关注 0票数 1

谷歌搜索了所有东西,但找不到解决我问题的方法。

当我试图将我的项目部署到Tomcat时,我在Tomcat日志中有这样的错误:

代码语言:javascript
复制
    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的内容:

  • hibernate3.jar
  • hibernate-testing.jar
  • quartz-1.7.2.jar
  • quartz-all-1.7.2
  • servlet-api-2.5-20081211
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-04-09 11:48:32

java.lang.NoClassDefFoundError: javax/servlet/ServletRequestListener

javax.servlet.ServletRequestListener是从Servlet2.4API开始新引入的。你的环境似乎找不到它是由两件事造成的:

  1. 要么将web.xml声明为Servlet2.3或更高版本,这迫使服务器采用Servlet2.3遵从模式,要么该服务器根本不支持Servlet2.4。
  2. 克莱斯帕特真的,真的很混乱。在不了解自己正在做什么的情况下,不应该在JRE/libJRE/lib/extTomcat/lib中放置/更改/删除库。您不应该在Webapp/WEB-INF/lib中放置特定于应用程序的库,因为这没有任何意义。

要修复1,请确保您的web.xml至少声明为Servlet2.4。最好是服务器可以支持的最新版本。Tomcat6.0支持Servlet2.5,因此相应地声明web.xml

要修复2,清除所有污染的分类路径。投入更多的时间来了解更多关于“类路径”的现象。小心处理。

票数 3
EN

Stack Overflow用户

发布于 2010-04-09 09:45:32

Tomcat不附带JSF库,因此您必须将这些库包含在WEB/lib中。从上面的列表中可以明显看出,您忽略了这些内容。对于JSF2 go 这里

此外,在WEB/lib中不需要servlet,它是一个提供的库。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2606249

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档