将JSF项目导出为WAR文件最终导致RuntimeException:找不到FacesContext

时间:2013-03-27 13:55:09

标签: eclipse jsf war

当我将我的JSF 1.2项目导出为WAR文件时,它在Eclipse Indigo中未正确创建。也就是说,当我再次导入并运行它时,它最终会出现“未找到FacesContext”错误。这是怎么造成的,我该如何解决?

1 个答案:

答案 0 :(得分:1)

  

我再次检查,当我再次导入它并运行url模式时缺少/ faces /。当我手动附加它,它会很好。 url模式在导入的文件中是否有任何相同的方式?

你过分依赖IDE为你做所有必要的魔术。您的初始项目设置了JSF项目方面,并且您使用内置浏览器通过在服务器上运行运行项目,而不是仅启动服务器并在外部浏览器中自行导航到它。

JSF项目facet是Eclipse特有的功能,它与JSF / Servlet规范完全无关。此信息无法存储在WAR中。当您再次导入它时,它将成为默认的动态Web项目,而不设置任何特定的项目构面。您需要右键单击项目,转到 Project Facets 部分并手动添加JSF项目构面。通过这种方式,IDE意识到该项目是一个JSF项目,并且将执行必要的魔术,例如在 Run As 期间自动内联目标URL中的FacesServlet映射。

相关问题