java.lang.NoSuchMethodError : org. openxmlformats.schemas.wordprocessingml.x2006.main.CTTbl.getTrList()Ljava/util/List 同时使用 Apache POI 库

标签 java apache-poi

我正在尝试编写一段代码来读取 docx 文件,但由于某些奇怪的原因它失败了。

这一行失败了:

XWPFDocument document = new XWPFDocument(new FileInputStream(filepath));

堆栈跟踪:

Exception in thread "main" java.lang.NoSuchMethodError: org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTbl.getTrList()Ljava/util/List;
    at org.apache.poi.xwpf.usermodel.XWPFTable.<init>(XWPFTable.java:106)
    at org.apache.poi.xwpf.usermodel.XWPFDocument.onDocumentRead(XWPFDocument.java:151)
    at org.apache.poi.POIXMLDocument.load(POIXMLDocument.java:159)
    at org.apache.poi.xwpf.usermodel.XWPFDocument.<init>(XWPFDocument.java:124)
    at helper.JavaHelper.readTableDataFull(JavaHelper.java:84)
    at helper.JavaHelper.main(JavaHelper.java:138)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)

我有那些 jar :

  • dom4j-1.6.1.jar
  • xmlbeans-2.3.0.jar
  • poi-3.9-20121203.jar
  • poi-scratchpad-3.9-20121203.jar
  • poi-ooxml-3.9-20121203.jar
  • ooxml-schemas-1.0.jar

看起来它应该对我有用(我也尝试使用较新的 poi 库 - 同样的错误)。

有什么想法吗?

最佳答案

快速浏览 Grepcode说明缺少的方法在 ooxml-schemasv1.1 中受支持。而且 v1.0 似乎不包含这样的方法(它只包含一个 getTrArray() 方法)。

所以您可能想使用 ooxml-schemas-1.1.jar 而不是 ooxml-schemas-1.0.jar

这是您至少应该使用的版本的 Maven 依赖项:

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

关于java.lang.NoSuchMethodError : org. openxmlformats.schemas.wordprocessingml.x2006.main.CTTbl.getTrList()Ljava/util/List 同时使用 Apache POI 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26854838/

相关文章:

Java Applet 在没有互联网的情况下无法加载

java - 如何在 Oracle blob 列中存储/检索 Apache-poi 工作簿对象?

java - 使用java从e​​xcel文件中读取单元格位置并设置具有特定位置的值

java - 有没有办法在 JSP 页面中显示 HSSFWorkbook 对象?

java - 如何插入换行符作为单元格的数据?

java - 使用 Selenium WebDriver 在 Java 中将状态写入 Excel 文件

java - 比较两个数组中的每个元素

java - LambdaMetafactory 访问不同 ClassLoader 上的类

java - 数独求解器的算法复杂度 (Big-O)

java - for 循环中的内存管理和速度