我有一个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)**
这是如何引起的?如何解决?
答案 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兼容。