It's an interesting section of code. The RecordFactory class is deprecated with the comment "use EventRecordFactory instead". Even more interesting, the previous line in HSSFWorkbook creates an EventRecordFactory object but doesn't use it.
EventRecordFactory factory = new EventRecordFactory(); Looks like a bit of half finished code.... Are you using some kind of jar file shrinker that removes deprecated classes?? Another possibility is that you are running in Java1.1 which doesn't have the java.util.List interface. "Alexis A. Trafelati" <[EMAIL PROTECTED]> 22/11/2005 08:00 Please respond to "POI Users List" <[email protected]> To <[email protected]> cc Subject Creating Workbook: java.lang.NoClassDefFoundError Hello, Is there any known problem with any version of the jdk1.4.2??? I'm trying to create a HSSFWorkbook from within a servlet and read it, and in several environments it works OK. It works in an Apache Tomcat 5.5, jdk 1.5.0_04 in a Windows XP machine. It works in an Apache Tomcat 4.0.6, jdk 1.4.2_06 in a Linux machine. But I need to install my app in a machine with the Ensim Control Panel, with this configuration: Tomcat 4.0.6 (a special version), jdk 1.4.2 (don't know exactly the build) in Linux. Here is the code that triggers the java.lang.NoClassDefFoundError: POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream(fileName)); HSSFWorkbook workbook = new HSSFWorkbook(fs); With the Stack Trace I think I tracked down the error to this line of the source code, in the org.apache.poi.hssf.usermodel.HSSFWorkbook class: List records = RecordFactory.createRecords(stream); I think the problem is when trying to access the class org.apache.poi.hssf.record.RecordFactory. The Stack Trace is below these lines. Rings any bell? ------------------------------------ java.lang.NoClassDefFoundError at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:163) at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:130) at org.apache.jsp.import3$jsp._jspService(import3$jsp .java:187) at org.apache.jasper.runtime.HttpJspBase.service(Http JspBase.java:107) at javax.servlet.http.HttpServlet.service(HttpServlet .java:853) at org.apache.jasper.servlet.JspServlet$JspServletWra pper.service(JspServlet.java:201) at org.apache.jasper.servlet.JspServlet.serviceJspFil e(JspServlet.java:381) at org.apache.jasper.servlet.JspServlet.service(JspSe rvlet.java:473) at javax.servlet.http.HttpServlet.service(HttpServlet .java:853) at org.apache.catalina.core.ApplicationDispatcher.inv oke(ApplicationDispatcher.java:683) at org.apache.catalina.core.ApplicationDispatcher.doI nclude(ApplicationDispatcher.java:574) at org.apache.catalina.core.ApplicationDispatcher.acc ess$100(ApplicationDispatcher.java:115) at org.apache.catalina.core.ApplicationDispatcher$Pri vilegedInclude.run(ApplicationDispatcher.java:146) at java.security.AccessController.doPrivileged(Native Method) .... _____________________________________________________________________ This email message (including any file attachments transmitted with it) is for the sole use of the individual or entity to whom it is addressed and may contain confidential and privileged information. Any unauthorised review, use, alteration, disclosure or distribution is prohibited. If you have received this email in error, please notify the sender by return email and destroy all copies of the original message. Any confidentiality or legal professional privilege is not waived or lost by any mistaken delivery of the email. Opinions, conclusions and other information in this message that do not relate to the official business of the company shall be understood as neither given nor endorsed by it.
