We have a MyFaces based application. After upgrading to WebLogic 14C we started getting following error on startup. This error prevents other war files from getting deployed during startup.
<Jun 14, 2024, 10:10:47,530 AM Eastern Daylight Time> <Error> <javax.enterprise.resource.webcontainer.jsf.config> <BEA-000000> <Critical error during deployment:
com.sun.faces.config.ConfigurationException: java.util.concurrent.ExecutionException: java.lang.IllegalStateException: zip file closed
at com.sun.faces.config.manager.Documents.getXMLDocuments(Documents.java:104)
at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:345)
at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:206)
at weblogic.servlet.internal.EventsManager$FireContextListenerAction.run(EventsManager.java:719)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:344)
Truncated.
Caused By: java.util.concurrent.ExecutionException: java.lang.IllegalStateException: zip file closed
at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191)
at com.sun.faces.config.manager.Documents.getXMLDocuments(Documents.java:92)
at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:345)
at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:206)
Truncated.
Caused By: java.lang.IllegalStateException: zip file closed
at java.base/java.util.zip.ZipFile.ensureOpen(ZipFile.java:921)
at java.base/java.util.zip.ZipFile.entries(ZipFile.java:563)
at java.base/java.util.zip.ZipFile$1.entries(ZipFile.java:1143)
at java.base/java.util.jar.JarFile.entries(JarFile.java:529)
at com.sun.faces.facelets.util.Classpath.searchJar(Classpath.java:293)
Truncated.
Following is the MyFaces configuration in the web.xml
<context-param>
<param-name>javax.faces.FACELETS_REFRESH_PERIOD</param-name>
<param-value>0</param-value>
</context-param>
<context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name>
<param-value>Development</param-value>
</context-param>
<context-param>
<param-name>javax.faces.CONFIG_FILES</param-name>
<param-value>
/WEB-INF/faces/config.xml
</param-value>
</context-param>
<context-param>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>server</param-value>
</context-param>
<context-param>
<param-name>org.apache.myfaces.SERIALIZE_STATE_IN_SESSION</param-name>
<param-value>true</param-value>
</context-param>
<context-param>
<param-name>org.apache.myfaces.SUPPORT_MANAGED_BEANS</param-name>
<param-value>true</param-value>
</context-param>
<context-param>
<param-name>org.apache.myfaces.VALIDATE</param-name>
<param-value>true</param-value>
</context-param>
Since WebLogic comes with pre-installed Mojarra, we have override in the weblogic.xml . This issue started showing up only after 14C upgrade, WLS 12C does not have this issue. Any help will be appreciated.