Java 中使用 Apache POI 时出现的运行时错误

3

我遇到了以下错误:

java.lang.NoSuchMethodError: org.apache.xmlbeans.XmlOptions.setSaveAggressiveNamespaces()Lorg/apache/xmlbeans/XmlOptions;
at org.apache.poi.POIXMLDocumentPart.<clinit>(POIXMLDocumentPart.java:56)

从第56行开始:

public static Workbook wb = new XSSFWorkbook();

我只需要重新链接我的库,但我所做的只是将所有文件移动并将构建路径重置到我移动文件的位置,并删除旧文件。


我曾经遇到过同样的问题,后来发现是XMLBeans的旧库。 - To Kra
1个回答

4
java.lang.NoSuchMethodError: org.apache.xmlbeans.XmlOptions.setSaveAggressiveNamespaces()Lorg/apache/xmlbeans/XmlOptions;

此声明表明您的jar包是不匹配(不兼容)的。请确保您拥有受支持版本的jar包。

我获取了所有新的内容并重新链接了所有库,但是我仍然得到相同的错误。现在该怎么办? - Nick
请再次检查 - 您的类路径上可能有两个 xmlbeans jar 的副本,其中一个过时了。 - Gagravarr
1
@Thinksteep 哈哈,是的!我一直在使用随 Apache POI 2.3.0 版本一起提供的 XMLBeans 版本。现在我已经下载并安装了 2.5.0 版本,它完美地解决了问题。感谢您的帮助!我之前没有意识到自带的版本不是最新的。 - Nick

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接