在Oracle Agile 9.3.0.2 for Linux中运行时,Apache POI中的java.lang.IncompatibleClassChangeError

时间:2011-05-19 06:58:47

标签: java oracle11g apache-poi

我正在Oracle Agile 9.3.0.2中构建Java Px。

我的Px涉及与两种格式的Excel文件(HSSF和XSSF)的交互。

我正在使用Apache POI库进行excel文件处理。

但这条线路的“java.lang.IncompatibleClassChangeError”

工作簿工作簿= WorkbookFactory.create(ip);

其中 ip 是excel文件的输入流。

当我尝试访问任何HSSF电子表格文件时。的(XLS)

Px适用于XSSF电子表格文件。的(。XLSX)

请帮助!!!!

2 个答案:

答案 0 :(得分:1)

您的类路径上有两个不同的Apache POI副本。您需要确保所有POI罐(普通,暂存器,ooxml等)来自同一版本。请参阅POI FAQ,了解如何检查生产中实际使用的jar文件。

答案 1 :(得分:0)

您可以检查应用程序服务器本身是否捆绑了poi-*.jar个文件?如果有,它可能会导致类似的问题。也许在压缩文件中使用TotalCommander进行搜索以及Workbook.classWorkbookFactory.class以确保在任何其他jar中找不到这些类。