【问题标题】:NullPointerException at TagAttributeImpl.getBoolean encountered after updating from WLS 12.1.3 to WLS 12.2.1从 WLS 12.1.3 更新到 WLS 12.2.1 后遇到 TagAttributeImpl.getBoolean 处的 NullPointerException
【发布时间】:2021-03-27 22:00:55
【问题描述】:

我们刚刚将 Weblogic Server 从 12.1.3 升级到 12.2.1.4。 在第一次 forward() 使用 RequestDispatcher 之后,我得到了一个 NPE。

我在网上看了一些资料后尝试了以下解决方案:

  1. 在启动脚本的 JAVA_OPTIONS 中放入“-Dorg.apache.el.parser.COERCE_TO_ZERO=true”
    我读到 EL 3.3.0 改变了它处理 null 的方式,所以我尝试了这个,但没有工作

  2. 在我的 web 应用程序的 WEB-INF/lib 中从 JSF 2.1.28 升级到 JSF 2.2.0
    我遇到同样的错误

  3. 升级到 el-api-2.2.1-b03.jar 然后在我的 weblogic.xml 中添加这些行 -

    <prefer-web-inf-classes>false</prefer-web-inf-classes>
    
    <prefer-application-packages>
        <package-name>javax.faces.*</package-name>
    <package-name>com.sun.faces.*</package-name>
        <package-name>com.bea.faces.*</package-name>
        <package-name>javax.el.*</package-name> <----------------------------
    </prefer-application-packages>
    
    <prefer-application-resources>
        <resource-name>javax.faces.*</resource-name>
    <resource-name>com.sun.faces.*</resource-name>
        <resource-name>com.bea.faces.*</resource-name>
        <resource-name>javax.el.*</resource-name> <----------------------------
        <resource-name>META-INF/services/javax.servlet.ServletContainerInitializer</resource-name>
    <resource-name>META-INF/services/com.sun.faces.spi.FacesConfigResourceProvider</resource-name>
    </prefer-application-resources>

-- 这给了我一个全新的 java.lang.LinkageError 所以我再次删除了 2 行

  1. 我还将 IceFaces EE 3.3.0 从 PA3 更新到 PA7
    即使在更新后我也会遇到同样的错误

谁能告诉我接下来我应该检查什么或我可能错过的任何事情? 我才刚刚开始学习这个任务的 weblogic.xml 配置,所以请随时像新手一样对待我,并指出任何菜鸟错误。谢谢! =)

以下是显示错误的最新日志条目:

引起:java.lang.NullPointerException at com.sun.faces.facelets.tag.TagAttributeImpl.getBoolean(TagAttributeImpl.java:150) ~[jsf-impl-2.2.0.jar:2.2.0] 在 javax.faces.view.facelets.DelegatingMetaTagHandler.isDisabled(DelegatingMetaTagHandler.java:81) ~[jsf-api-2.2.0.jar:2.2] 在 com.sun.faces.facelets.tag.jsf.ValidatorTagHandlerDelegateImpl.applyAttachedObject(ValidatorTagHandlerDelegateImpl.java:113) ~[jsf-impl-2.2.0.jar:2.2.0] 在 com.sun.faces.facelets.tag.jsf.ValidatorTagHandlerDelegateImpl.applyNested(ValidatorTagHandlerDelegateImpl.java:212) ~[jsf-impl-2.2.0.jar:2.2.0] 在 com.sun.faces.facelets.tag.jsf.ValidatorTagHandlerDelegateImpl.apply(ValidatorTagHandlerDelegateImpl.java:88) ~[jsf-impl-2.2.0.jar:2.2.0] 在 javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120) ~[jsf-api-2.2.0.jar:2.2] 在 javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95) ~[jsf-api-2.2.0.jar:2.2] 在 javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137) ~[jsf-api-2.2.0.jar:2.2] 在 com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:190) ~[jsf-impl-2.2.0.jar:2.2.0] 在 javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120) ~[jsf-api-2.2.0.jar:2.2] 在 javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95) ~[jsf-api-2.2.0.jar:2.2] 在 javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137) ~[jsf-api-2.2.0.jar:2.2] 在 com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:190) ~[jsf-impl-2.2.0.jar:2.2.0] 在 javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120) ~[jsf-api-2.2.0.jar:2.2] 在 javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95) ~[jsf-api-2.2.0.jar:2.2] 在 javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137) ~[jsf-api-2.2.0.jar:2.2] 在 com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:190) ~[jsf-impl-2.2.0.jar:2.2.0] 在 javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120) ~[jsf-api-2.2.0.jar:2.2] 在 javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95) ~[jsf-api-2.2.0.jar:2.2] 在 javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137) ~[jsf-api-2.2.0.jar:2.2] 在 com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:190) ~[jsf-impl-2.2.0.jar:2.2.0] 在 javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120) ~[jsf-api-2.2.0.jar:2.2] 在 javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95) ~[jsf-api-2.2.0.jar:2.2] 在 javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137) ~[jsf-api-2.2.0.jar:2.2] 在 com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:190) ~[jsf-impl-2.2.0.jar:2.2.0] 在 javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120) ~[jsf-api-2.2.0.jar:2.2] 在 javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95) ~[jsf-api-2.2.0.jar:2.2] 在 javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137) ~[jsf-api-2.2.0.jar:2.2] 在 com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:190) ~[jsf-impl-2.2.0.jar:2.2.0] 在 javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120) ~[jsf-api-2.2.0.jar:2.2] 在 javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95) ~[jsf-api-2.2.0.jar:2.2] 在 com.sun.faces.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:93) ~[jsf-impl-2.2.0.jar:2.2.0] 在 com.sun.faces.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:87) ~[jsf-impl-2.2.0.jar:2.2.0] 在 com.sun.faces.facelets.impl.DefaultFacelet.apply(DefaultFacelet.java:161) ~[jsf-impl-2.2.0.jar:2.2.0] 在 com.sun.faces.application.view.FaceletViewHandlingStrategy.buildView(FaceletViewHandlingStrategy.java:972) ~[jsf-impl-2.2.0.jar:2.2.0] 在 com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:99) ~[jsf-impl-2.2.0.jar:2.2.0] 在 com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) ~[jsf-impl-2.2.0.jar:2.2.0] 在 com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219) ~[jsf-impl-2.2.0.jar:2.2.0] 在 javax.faces.webapp.FacesServlet.service(FacesServlet.java:647) ~[jsf-api-2.2.0.jar:2.2] ... 32 更多

【问题讨论】:

    标签: jsf el weblogic12c


    【解决方案1】:

    我通过编辑我的 weblogic.xml 以删除以下项目来解决此问题: &lt;prefer-application-packages&gt;&lt;prefer-application-resources&gt;.

    我仍然不能 100% 确定它为什么会起作用。 &lt;prefer-web-inf-classes&gt;false&lt;/prefer-web-inf-classes&gt; 告诉 WLS 从内置捆绑包中获取其包。所以我猜测应用程序的 WEB-INF/lib 中以前用作覆盖的包在升级后不再正确。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-16
      • 2014-12-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多