2012-04-16 91 views
1

我在尝试将Apache POI poi-ooxml库引入到我的项目中时遇到了一些麻烦。我使用Maven和以下依赖性:Excel 2007和Spring MVC的Apache POI(poi-ooxml)无法找到DocumentBuilderFactory

<dependency> 
     <groupId>org.apache.poi</groupId> 
     <artifactId>poi-ooxml</artifactId> 
     <version>3.8</version> 
    </dependency> 

但我不能够重新开始我的Spring MVC应用程序这样做后,这里是堆栈跟踪:

Exception created : org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from ServletContext resource [/WEB-INF/context/applicationContext.xml]; nested exception is javax.xml.parsers.FactoryConfigurationError: Provider for javax.xml.parsers.DocumentBuilderFactory cannot be found

所以,我理解是poi-ooxml包含另一个xml解析器,它覆盖默认的Java虚拟机defaut,它被Spring用来读取它的xml配置文件。

如果我排除了以下2个库:

  • 的xmlbeans
  • XML的API

所有工作正常(我能开始我的春天应用程序),但当然阿帕奇POI不再工作,因为他缺少这2个所需的库...

任何意见将不胜感激;)

谢谢

回答

2

添加poi-ooxml到我现有的groovy应用程序后,我有类似的问题。我已经添加了xercesImpl来投影,并且它似乎正在工作。也许你应该试试看。

<dependency> 
    <groupId>xerces</groupId> 
    <artifactId>xercesImpl</artifactId> 
    <version>2.9.1</version> 
</dependency> 
+0

谢谢,刚刚尝试过你的建议,它的工作原理 – 2012-11-20 20:39:25