如何让 Apache POI 和 JAXB 协同工作?

How do I get Apache POI and JAXB to work together?

java.lang.ClassNotFoundException: org.apache.xmlbeans.XmlObject

我在 运行 我的代码中遇到了这个错误。好的,没关系——我只是忘了获取 XMLBeans……但是它已经停用了,我在他们的档案中找不到最新版本。所以我发现 JAXB 可以作为替代方案,我下载了它并尝试将 jar 文件添加到我在 Intellij 中的库中,但我在寻找 XMLBeans 依赖项时仍然遇到相同的错误。

如何让 Apache POI 使用 JAXB 代替 XMLBeans?为什么 JAXB 有 7 个不同的 jar 文件,而我无法找出其中任何一个的作用?我只想处理一些 excel 文件,而不是继续徒劳地追逐 :(

XMLBeans 是 Apache POI 的依赖项,POI 不会在它所在的位置使用其他库。 XMLBeans 打包在我检查过的 Apache POI 下载中,因此您应该可以使用它。当 运行 你的应用程序时,你只需要确保 xmlbeans jar 文件在 java 类路径中。

我已经检查了最新的 POI 二进制 tar.gz 文件 'poi-bin-3.14.tar.gz',可从 http://poi.apache.org/download.html#POI-3.14 获得,解压压缩的 tar 存档(我使用 7-Zip),您将在poi-3.14/ooxml-lib目录下找到xmlbeans-2.6.0.jar.