繁体   English   中英

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

[英]Migrating JSF 1.1 app to WAS7.0 results in java.lang.NullPointerException at javax.faces.webapp.FacesServlet.init(FacesServlet.java:144)

我有一个JSF 1.1应用程序,它在WAS 6.0做工精细,需要迁移到WAS 7.0,但它会导致以下异常,即使我已经设置parent_lastdeployment.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)**

这是怎么引起的,我该如何解决?

当找不到应用程序工厂时,您将在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库并更改faces-config.xml与JSF 1.2兼容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM