在适用于 Linux 的 Oracle Agile 9.3.0.2 中运行时,Apache POI 中出现 java.lang.InknownClassChangeError
我正在 Oracle Agile 9.3.0.2 中构建 Java Px。
我的 Px 涉及与两种格式(HSSF 和 XSSF)的 Excel 文件的交互。
我正在使用 Apache POI 库进行 Excel 文件处理。
但我得到这一行的 "java.lang.InknownClassChangeError" :
Workbook workbook = WorkbookFactory.create(ip);
其中 ip 是输入Excel 文件的流。
当我尝试访问任何 HSSF 电子表格文件时。 (.xls)
Px 适用于 XSSF 电子表格文件。 (.xlsx)
请帮忙!!!
I am building a Java Px in Oracle Agile 9.3.0.2.
My Px involves interaction with Excel files of both formats (HSSF and XSSF).
I am using Apache POI library for excel file processing.
But i get "java.lang.IncompatibleClassChangeError" for this line :
Workbook workbook = WorkbookFactory.create(ip);
where ip is the input stream of the excel file.
when i try to access any HSSF spreadsheet file. (.xls)
The Px works fine for XSSF spreadsheet files. (.xlsx)
Please help!!!!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您的类路径上很有可能有两个不同的 Apache POI 副本。您需要确保所有 POI jar(普通、暂存器、ooxml 等)都来自同一版本。请参阅 POI 常见问题解答,了解如何检查实际使用的 jar 文件生产。
There's a fairly good chance that you have two different copies of Apache POI on your classpath. You need to ensure that all your POI jars (normal, scratchpad, ooxml etc) are from the same version. See the POI FAQ for how you can check what jar file is actually being used in production.
您能否检查一下应用程序服务器本身是否捆绑了任何
poi-*.jar
文件?如果有的话,可能会导致类似的问题。也许还可以在压缩文件中使用 TotalCommander 搜索Workbook.class
或WorkbookFactory.class
以确保在任何其他 jar 中找不到这些类。Could you check if there are any
poi-*.jar
files bundled in the application server itself? If there are any, it can cause similar problems. Maybe do a search with TotalCommander in compressed files as well forWorkbook.class
orWorkbookFactory.class
to ensure these classes cannot be found in any other jars..