1

我在尝试将 Apache POI poi-ooxml 库包含到我的项目中时遇到了一些麻烦。我正在使用 Maven 和以下依赖项:

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

但是在这样做之后,我无法再次启动我的 Spring MVC 应用程序,这是堆栈跟踪:

异常创建:org.springframework.beans.factory.BeanDefinitionStoreException:从 ServletContext 资源 [/WEB-INF/context/applicationContext.xml] 解析 XML 文档时出现意外异常;嵌套异常是 javax.xml.parsers.FactoryConfigurationError:找不到 javax.xml.parsers.DocumentBuilderFactory 的提供程序

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

如果我排除以下 2 个库:

  • xmlbeans
  • xml-api

一切正常(我可以启动我的 Spring 应用程序),但当然 Apache POI 不再工作,因为他缺少这两个必需的库......

任何建议将不胜感激;)

谢谢

4

1 回答 1

2

将 poi-ooxml 添加到我现有的 groovy 应用程序后,我遇到了类似的问题。我已将 xercesImpl 添加到项目中,它似乎正在工作。也许你应该试一试。

<dependency>
   <groupId>xerces</groupId>
   <artifactId>xercesImpl</artifactId>
   <version>2.9.1</version>
</dependency>
于 2012-08-23T09:01:07.420 回答