NullPointerException di TagAttributeImpl.getBoolean ditemui setelah memperbarui dari WLS 12.1.3 ke WLS 12.2.1

Kami baru saja meningkatkan Server Weblogic kami dari 12.1.3 menjadi 12.2.1.4. Dan saya mendapatkan NPE setelah forward() pertama menggunakan RequestDispatcher.

Saya mencoba solusi berikut setelah membaca beberapa materi dari Internet:

  1. Masukkan -Dorg.apache.el.parser.COERCE_TO_ZERO=true di JAVA_OPTIONS skrip awal
    Saya membaca bahwa EL 3.3.0 mengubah cara menangani null jadi saya mencoba ini tetapi tidak berhasil

  2. Tingkatkan versi dari JSF 2.1.28 ke JSF 2.2.0 di WEB-INF/lib aplikasi web saya
    Saya mendapatkan kesalahan yang sama

  3. Tingkatkan ke el-api-2.2.1-b03.jar dan kemudian tambahkan baris ini di weblogic.xml saya -

    <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>

-- Ini memberi saya java.lang.LinkageError baru jadi saya menghapus 2 baris itu lagi

  1. Saya memperbaikinya dengan mengedit weblogic.xml saya untuk menghapus item di bawah berikut:
        <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>
    
    dan _2_.

Adakah yang bisa memberi tahu saya apa yang harus saya periksa selanjutnya atau apa pun yang mungkin saya lewatkan? Saya baru mulai mempelajari konfigurasi weblogic.xml untuk tugas ini, jadi silakan perlakukan saya seperti seorang pemula dan tunjukkan kesalahan pemula. Terima kasih! =)

Di bawah ini adalah entri log terbaru yang menunjukkan kesalahan:

Saya juga telah memperbarui IceFaces EE 3.3.0 dari PA3 ke PA7
Saya mendapatkan kesalahan yang sama bahkan setelah memperbarui


person JakeA    schedule 17.12.2020    source sumber


Jawaban (1)


Saya masih belum 100% yakin mengapa ini berhasil. <prefer-web-inf-classes>false</prefer-web-inf-classes> memberitahu WLS untuk mendapatkan paketnya dari bundel bawaan. Jadi saya kira paket di WEB-INF/lib aplikasi yang sebelumnya digunakan sebagai override tidak lagi benar setelah peningkatan.

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

person JakeA    schedule 18.12.2020