我一直在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&amp; Spring来管理我们的依赖关系。
答案 0 :(得分:2)
你至少缺少Apache POI component dependencies。具体来说,你缺少Apache XMLBeans,尽管你可能也错过了其他的东西
Apache POI components page列出了所有POI模块,它们包含哪些组件,它们的依赖关系以及它们可以从中获取的Maven artificat形式。你要么缺少一个你需要的maven工件,要么没有正确部署jar
答案 1 :(得分:1)
java.lang.NoClassDefFoundError:org / apache / xmlbeans / XmlOptions
明确指出您的项目CLASSPATH
中没有某些类或其中一个依赖项和bean,如:xmlbeans-x.x.x.jar。确保它存在且可读。