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.

Reply via email to