首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >部署时找不到FacesServlet

部署时找不到FacesServlet
EN

Stack Overflow用户
提问于 2012-06-13 14:08:05
回答 1查看 5.6K关注 0票数 2

我有一个样例应用程序,它在我的本地机器上使用Netbeans和GlassFish。我从StackOverflow那里得到了很多帮助,让它启动和运行。下一步是尝试将其部署到真实的服务器上。我发现我可以在EATJ上尝试它,所以我使用Netbeans生成了一个WAR文件,并上传了这个WAR文件。它不起作用,我在其中一个日志中找到了以下内容

代码语言:javascript
复制
INFO: ContextListener: contextDestroyed()
Jun 12, 2012 10:45:33 PM org.apache.catalina.core.ApplicationContext log
INFO: Marking servlet Faces Servlet as unavailable
Jun 12, 2012 10:45:33 PM org.apache.catalina.core.StandardContext loadOnStartup
SEVERE: Servlet /ww1 threw load() exception
java.lang.ClassNotFoundException: javax.faces.webapp.FacesServlet
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1701)

我刚刚重新启动了Tomcat服务器,这样我就可以从头开始了。我可以从时间戳中看到我是同步的。在信息中,它告诉我它正在使Faces Servlet不可用。因此,如果它只是使类不可用,那么它找不到类也就不足为奇了。因此,当我尝试运行我的应用程序时,它失败了。

我不能理解的是,为什么它一开始就决定让它不可用,以及我能做些什么。

在Netbeans中,在我的本地机器上,我使用GlassFish,在EATJ Tomcat上使用。是不是WAR文件中内置了一些东西,使得它不能在Tomcat上运行?很难相信,但也许吧。我正在使用带有primefaces的jsf 2.0,如果这会有什么不同的话。

自从GlassFish与Netbeans捆绑在一起后,我从未在本地机器上运行过Tomcat,它工作得很好。也许我必须在我的本地机器上加载Tomcat来测试它?我不知道该怎么想,所以我需要一些建议。

附注:我记得我添加了glassfish-web.xml来删除一个恼人的警告。我添加的这一行是

代码语言:javascript
复制
<parameter-encoding default-charset="UTF-8"/>

也许我需要删除glassfish-web.xml?另一方面,它与使FacesServlet不可用有什么关系?问题似乎比这更深。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-13 17:00:46

Glassfish附带捆绑的jsf库。Tomcat不需要,所以你要么需要把jsf库放到tomcat库中,要么在构建项目时把它们添加到war文件中。

您可以下载jsf here

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

https://stackoverflow.com/questions/11009102

复制
相关文章

相似问题

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