当我将JSF 1.2项目导出为WAR文件时,它不能在Eclipse Indigo中正确创建。也就是说,当我再次导入它并运行它时,它最终会出现"FacesContext not found"错误。这是如何造成的,我该如何解决?
我再次检查,当我再次导入它并运行url模式丢失/faces/。当我手动添加它时,它会很好。在导入的文件中,url模式是否也会相同?
你太依赖IDE为你做所有必要的魔术了。您的初始项目具有JSF项目方面集,并且您使用内置浏览器通过在服务器上运行来运行项目,而不是仅仅启动服务器并在外部浏览器中自己导航到它。
JSF项目方面是Eclipse特定的特性,与JSF/Servlet规范完全无关。该信息没有存储在WAR中。当你再次导入它时,它将成为一个默认的动态web项目,没有任何特定的项目方面设置。您需要右键单击项目,转到 project Facets部分并手动添加JSF项目方面。这样,IDE就会意识到项目是JSF项目,并执行必要的魔术,例如在Run as 期间自动内联目标URL中的FacesServlet
映射。