我得到了运行时错误:
javax.xml.stream.XMLEventFactory: Provider com.ctc.wstx.stax.WstxEventFactory not found使用Apache POI并尝试创建一个XSSFWorkbook
我可以创建一个没有任何问题的HSSFWorkbook,但是当我将代码更改为:
Workbook workbook = new XSSFWorkbook();它会导致运行时错误。你知道会出什么问题吗?下面是我为Apache POI添加的Maven依赖项:
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.15</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>ooxml-schemas</artifactId>
<version>1.3</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.15</version>
</dependency>发布于 2018-01-25 07:09:01
谢谢,@Francis @yoav!在您的提示下,我能够通过将我的pom.xml依赖项重新定义为以下内容来修复错误:
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.15</version>
</dependency>
<dependency>
<groupId>com.ctc.wstx</groupId>
<artifactId>woodstox-osgi</artifactId>
<version>3.2.1.1</version>
</dependency>再次感谢!
发布于 2018-12-18 05:28:53
对我来说,修复它的方法是有以下依赖:
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.17</version>
<scope>provided</scope>
</dependency>
<!-- BE AWARE! It is absolutely crucial for wstx-asl to be bundled with plugin although it is present in Jira as well. -->
<!-- Jira version is not exported and it is a known bug: https://jira.atlassian.com/browse/JRASERVER-26214 -->
<!-- This artifact is supplemental for Apache POI library. -->
<dependency>
<groupId>org.codehaus.woodstox</groupId>
<artifactId>wstx-asl</artifactId>
<version>3.2.4</version>
</dependency>并在不同的上下文中运行XSSFWorkbook的创建: XSSFWorkbook
xssfWorkbook;
try {
xssfWorkbook = ContextClassLoaderSwitchingUtil.runInContext(WstxEventFactory.class.getClassLoader(), (Callable<XSSFWorkbook>) XSSFWorkbook::new);
} catch (Exception e) {
throw new IllegalStateException("Cannot create XLSX workbook with WstxEventFactory class loader.");
}https://stackoverflow.com/questions/48403963
复制相似问题