将JSF 1.1应用程序迁移到WAS7.0会导致javax.faces.webapp.FacesServlet.init上的java.lang.NullPointerException(FacesServlet.java:144)

时间:2012-06-05 08:18:12

标签: jsf websphere

我有一个JSF 1.1应用程序,它在WAS 6.0中运行良好,需要迁移到WAS 7.0,但它会导致以下异常,即使我在parent_last中设置了deployment.xml

Uncaught init() exception created by servlet Faces Servlet in application: 
java.lang.NullPointerException
    at javax.faces.webapp.FacesServlet.init(FacesServlet.java:144)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.init(ServletWrapper.java:325)**

这是如何引起的?如何解决?

1 个答案:

答案 0 :(得分:1)

当无法找到应用程序工厂时,您将在JSF 1.1中获得此异常。这反过来导致ConfigureListener由于某种原因未运行的可能原因。这通常是根据JSF库中的.tld文件自动调用的。您可以通过将以下条目添加到webapp的web.xml来强制webapp运行它:

<listener>
    <listener-class>com.sun.faces.config.ConfigureListener</listener-class>
</listener>

但是,我不保证它会完全解决问题。你可能现在得到一个不同的例外,需要单独调查和修复。

WAS 7.0附带JSF 1.2捆绑和(精心设计)JSF 1.1代码在技术上与JSF 1.2 100%兼容,所以我宁愿建议在你的webapp中删除JSF 1.1库并更改{ {1}}与JSF 1.2兼容。