NullPointerException в TagAttributeImpl.getBoolean после обновления с WLS 12.1.3 до WLS 12.2.1

Мы только что обновили наш Weblogic Server с 12.1.3 до 12.2.1.4. И я получаю NPE после первого forward() с помощью RequestDispatcher.

Я попробовал следующие решения после прочтения некоторых материалов из Интернета:

  1. Поместите -Dorg.apache.el.parser.COERCE_TO_ZERO=true в JAVA_OPTIONS скрипта запуска
    Я читал, что EL 3.3.0 изменил способ обработки null, поэтому я попробовал это, но это не сработало

  2. Обновите JSF 2.1.28 до JSF 2.2.0 в WEB-INF/lib моего веб-приложения
    Я получаю ту же ошибку

  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, поэтому я снова удалил две строки.

  1. Я исправил это, отредактировав файл 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>
    
    и _2_.

Может кто-нибудь, пожалуйста, дайте мне знать, что я должен проверить дальше или что-то, что я, возможно, пропустил? Я только начал изучать конфигурацию weblogic.xml для этой задачи, поэтому, пожалуйста, не стесняйтесь относиться ко мне как к новичку и указывать на любые ошибки новичка. Спасибо! знак равно

Ниже приведена последняя запись журнала, показывающая ошибку:

Я также обновил IceFaces EE 3.3.0 с PA3 до PA7
Я получаю ту же ошибку даже после обновления


person JakeA    schedule 17.12.2020    source источник


Ответы (1)


Я до сих пор не уверен на 100%, почему это сработало. <prefer-web-inf-classes>false</prefer-web-inf-classes> указывает WLS получать пакеты из встроенного пакета. Поэтому я предполагаю, что пакеты в WEB-INF/lib приложения, которые ранее использовались в качестве переопределения, больше не были правильными после обновления.

Вызвано: java.lang.NullPointerException в 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.face lets.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(CompositeFacele tHandler.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

person JakeA    schedule 18.12.2020