Getting following exception in Jboss 5.0 EAP but it work fine in JBoss 5.1 GA.
we are using POI 3.7 and jars included are
- poi-3.7.jar
- poi-ooxml-schemas.jar
- poi-ooxml.jar
The stack trace is
ERROR [org.apache.catalina.core.ContainerBase.[jboss.ueb].[localhost].[fesbcon-Fig].[Faces Servlet]]
3;13;44.4g3pM (http-0.0.0.0-8280-1) Servlet.service() -For servlet Faces Servlet threu exception
java.lang.NoClassDe-FFoundError: Could not initialize class org.apache.poi.POIXMLDocument
at org.apache.poi.ss.usermodel.HorkbookFactory.create(HorkbookFactory.java:62)
at com.-Ferguson.esb.con-Fig.controller.AssociationsExcelUploadController.submit(Unknoun Source)
at sun.re-Flect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.re-Flect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.re-Flect.DelegatingMethodAccessorImpl.invoke(Delegating?ethodAccessorImpl.java:25)
at java.lang.re-Flect.Method.invoke(Method.java:597)
at org.apache.my-Faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:132)
at org.apache.my-Faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:61)
Please Advise how to solve this issue in JBoss 5.0 EAP
It looks like you’re application is throwing the exception you’re seeing because an Apache XMLBeans JAR or class is not present when running under JBoss 5.0. It seems Apache POI is trying to load the class
org.apache.xmlbeans.XMLOptionsbut it cannot find this class.The message
Could not initialize class SomeClassindicates that the JVM has twice tried and failed to load and statically initialize the classSomeClass. In this case, the class in question isorg.apache.poi.POIXMLDocument.Static initialization for a class consists of statically initializing its superclass, assigning values to all
staticfields and running allstaticinitializer blocks. The POIXMLDocument class has a fewstaticStringconstants, which won’t cause any problem, but no static initializer. It is however a subclass of POIXMLDocumentPart, which is a subclass ofObjectand which has the following static initialization code:This static initialization will fail if the JVM cannot load all of the
POILogger,POILogFactoryandXmlOptionsclasses.The
POILoggerandPOILogFactoryclasses are both imported from the packageorg.apache.poi.util.POILogFactory, and both classes are contained within poi-3.7.jar, so they’re not the problem here. So, by elimination, it seems theXmlOptionsclass,imported fromorg.apache.xmlbeans.XmlOptions, must be missing.I found this
XMLOptionsclass withinxbean.jarcontained within thelibfolder ofxmlbeans-2.6.0.zipdownloadable from one of the mirrors here.It seems likely to me that adding this JAR will fix the problem on JBoss 5.0 EAP. However, I’m aware you said your application works fine in JBoss 5.1 GA, which implies to me that JBoss 5.1 GA contains a copy of this JAR whereas 5.0 EAP doesn’t. As a result I’m not sure what the best way to fix this problem is. I’d be hesitant to add this XMLBeans JAR to your application as doing so may cause issues when you run it under JBoss 5.1. I don’t know whether there’s a way of adding extra ‘library’ JARs to JBoss 5.0, though – perhaps that’s worth looking at?