我一直在 Java 1.5 上开发 SpringSource 3.2 项目。这个项目的目的是在解析excel中的数据后,获取一个excel文件并输出到我们自己格式的另一个文件中。
当在我的本地开发环境(i5、Windows 7 计算机)上运行时,该过程运行完全正常,结果符合预期。但是当我尝试在我们的 SIT(旧的 Windows Server 2003 SP2 x64)上运行它时,出现以下异常:
2014-04-24 14:18:16:574 ERROR [main] - AbstractStep | Encountered an error executing the step
java.lang.NoClassDefFoundError: org/apache/xmlbeans/XmlOptions
at org.apache.poi.POIXMLDocumentPart.<clinit>(POIXMLDocumentPart.java:43)
at org.apache.poi.ss.usermodel.WorkbookFactory.create(WorkbookFactory.java:62)
at com.hsbc.gbm.dml.batch.item.file.ExcelFileItemReader.doOpen(ExcelFileItemReader.java:118)
at org.springframework.batch.item.support.AbstractItemCountingItemStreamItemReader.open(AbstractItemCountingItemStreamItemReader.java:134)
at org.springframework.batch.item.file.MultiResourceItemReader.read(MultiResourceItemReader.java:105)
at org.springframework.batch.core.step.item.SimpleChunkProvider.doRead(SimpleChunkProvider.java:90)
at org.springframework.batch.core.step.item.SimpleChunkProvider.read(SimpleChunkProvider.java:148)
at org.springframework.batch.core.step.item.SimpleChunkProvider$1.doInIteration(SimpleChunkProvider.java:108)
at org.springframework.batch.repeat.support.RepeatTemplate.getNextResult(RepeatTemplate.java:367)
at org.springframework.batch.repeat.support.RepeatTemplate.executeInternal(RepeatTemplate.java:214)
.
.
.
有人知道为什么会发生这种情况吗?顺便说一句,我们使用 Maven 和 Spring 来管理我们的依赖项。
最佳答案
您至少缺少 Apache POI component dependencies 中的一个。具体来说,您缺少 Apache XMLBeans,尽管您也可能缺少其他东西
Apache POI components page列出所有 POI 模块、它们包含哪些组件、它们的依赖项是什么以及可以从哪些 Maven Artifact 中获取它们。您要么缺少所需的 Maven Artifact 之一,要么没有正确部署 jar
关于java - 在 SIT 上运行时 Apache POI 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23270606/