1

I'm doing an upgrade of my IBM Liberty server to the latest version. In this process I'm upgrading our Mojarra JSF implementation from 2.2 to 2.3. There's nothing in the code that seems to be adding info after the header is loaded. It seems there's something in the JSF library which is causing this. I'm just asking for suggestions of where to look.

99% of the application is working correctly. But I have one list that throws the following error:

enter image description here

Here are the features being loaded:

appClientSupport-1.0, appSecurity-2.0, batch-1.0, beanValidation-1.1, cdi-1.2, concurrent-1.0, distributedMap-1.0, ejb-3.2, ejbHome-3.2, ejbLite-3.2, ejbPersistentTimer-3.2, ejbRemote-3.2, el-3.0, j2eeManagement-1.1, jacc-1.5, jaspic-1.1, javaMail-1.5, javaee-7.0, jaxb-2.2, jaxrs-2.0, jaxrsClient-2.0, jaxws-2.2, jca-1.7, jcaInboundSecurity-1.0, jdbc-4.1, jms-2.0, jndi-1.0, jpa-2.1, jpaContainer-2.1, jsf-2.2, json-1.0, jsonp-1.0, jsp-2.3, localConnector-1.0, managedBeans-1.0, mdb-3.2, monitor-1.0, servlet-3.1, ssl-1.0, wasJmsClient-2.0, wasJmsSecurity-1.0, wasJmsServer-1.0, webProfile-7.0, websocket-1.1, wmqJmsClient-2.0

fergp25
  • 41
  • 4
  • What libraries are you packaging with your application? If you're packaging Mojarra, then you should not enable the `jsf-2.2` Liberty feature. The same goes for `webProfile-7.0`, since that feature pulls in `jsf-2.2`. – wtlucy Nov 04 '20 at 17:18

1 Answers1

1

Since you are using Mojarra, I would suggest using the jsfContainer-2.2 (or 2.3) feature instead of the regular jsf-2.2 (or 2.3) feature. The built-in jsf feature pulls in the MyFaces implementation of JSF, and the JSF API jar that only works with MyFaces.

If you use the jsfContainer feature, you can simply bundle Mojarra (and Mojarra's copy of the JSF API) inside your application as described here.

This way you won't have an extra/unused JSF implementation in your server.

Andy Guibert
  • 41,446
  • 8
  • 38
  • 61