On Wed, May 20, 2009 at 6:00 AM, rabatown <[email protected]> wrote: > > Eventually, this was happened due to cell in Excel file that must be empty. > ... > The problem is resolved. >
Your last posting is a little misleading. If your fix was entirely related to logic/data and had nothing to do with changing the classpath, then the root problem has not been fixed. LinkageErrors within POI code are certainly never caused by simple logic/data bugs in code that uses POI. As Nick suggested this error is usually due to multiple versions of POI on your classpath. However, in this case it is ambiguous whether the stack trace represents a failed linkage between POI classes or from a POI class to the JDK. The exact linkage of RecordFormatException line 36 varies depending on whether your POI version is before or after 3.2: invokespecial V java/lang/RuntimeException.<init>(Ljava/lang/String;Ljava/lang/Throwable) invokespecial V org/apache/poi/util/RecordFormatException.<init>(Ljava/lang/String;Ljava/lang/Throwable) If it is the first case (pre-3.2, failed call to chaining constructor of RuntimeException) then your problem is caused by executing with a pre-1.4 JRE. The 'simple' solution is to upgrade JDK 1.4 or later (since version 2.5.1, POI has required this). The second case (post-3.2, incompatibility between POI versions) seems less likely here because the call target method has always existed in every version of util/RecordFormatException - if anything one would expect NoClassDefFoundError. Nonetheless, it is always a good idea to make sure you have deployed just one version of POI. It's probable that by fixing "cell in Excel file that must be empty" you have avoided executing line 36 of RecordFormatException. However, the presence of one LinkageError suggests likelihood of many more latent LinkageErrors. The next one you trip over may happen doing a completely normal logic flow. Can you please report back when you find the root cause of this problem? --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
