How to Overwrite The Version of Mojarra in WLS 12.1.2 and Beyond
This blog entry describes an unsupported process for overwriting the version of Mojarra that comes bundled in WLS 12.1.2 and beyond with an arbitrary version (from groupId org.glassfish artifactId javax.faces).
Sometimes it is necessary to upgrade the version of Mojarra that comes bundled in WebLogic Server with a different version, either newer or older. One such usage: the Mojarra team at Oracle uses this process to ensure the in-container tests for WLS use the just-built Mojarra during continuous integration. To support this, a profile is added to the top level
pom.xml for the automated tests. Though the primary purpose of this profile is to aid our own continuous integration builds, the profile can also be used for general purpose WLS instrumentation.
You may check out the entire Mojarra source tree or just grab the top level pom for the source line you require.
JSF 2.1.x code line https://svn.java.net/svn/mojarra~svn/branches/MOJARRA_2_1X_ROLLING/test/pom.xml
JSF 2.2.x code line https://svn.java.net/svn/mojarra~svn/branches/MOJARRA_2_2X_ROLLING/test/pom.xml
packagegoal, being careful to use the non-recursive mvn invocation.
mvn -N -Djsf.version=<version> -Dintegration.container.home=<MW_HOME> -Phudson-wls-prepare package
This will cause the maven artifact
org.glassfish:javax.faces:<version>to be pulled from the local maven repository (downloading if necessary), and applied on top of whatever version of Mojarra is in the WLS installation at
MW_HOME. Note that
MW_HOMEmust be the value as specified in the README.txt in the WLS installation zip.
This approach is entirely unsupported by Oracle and is only provided for testing purposes. Instructions for reverting your WLS installation to the previous version are outside the scope of this blog entry. The recommended practice is to re-install WLS.