You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Apache POI 5.2.3兼容XmlBeans 5.1.1吗?遇方法缺失错误如何解决?

解决POI 5.2.3与XmlBeans版本冲突问题

问题原因

POI 5.2.3依赖的XmlBeans版本并非5.1.1,Maven自动引入的5.1.1版本和POI的要求不匹配,导致org.apache.xmlbeans.XmlOptions.put(Ljava/lang/Object;)V方法找不到。

解决步骤

1. 明确兼容版本

POI 5.2.3官方指定兼容的XmlBeans版本为4.0.0,需强制指定该版本以覆盖Maven自动解析的冲突版本。

2. 修改pom.xml配置

可以通过两种方式确保引入正确的XmlBeans版本:

方式一:直接添加XmlBeans依赖

<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>5.2.3</version>
</dependency>
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>5.2.3</version>
</dependency>
<!-- 强制指定XmlBeans版本为POI 5.2.3兼容的4.0.0 -->
<dependency>
    <groupId>org.apache.xmlbeans</groupId>
    <artifactId>xmlbeans</artifactId>
    <version>4.0.0</version>
</dependency>

方式二:用dependencyManagement统一锁定版本

若项目包含多模块,推荐在dependencyManagement中统一锁定版本,避免其他依赖引入冲突:

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.apache.xmlbeans</groupId>
            <artifactId>xmlbeans</artifactId>
            <version>4.0.0</version>
        </dependency>
    </dependencies>
</dependencyManagement>

<!-- 原有POI依赖 -->
<dependencies>
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi</artifactId>
        <version>5.2.3</version>
    </dependency>
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi-ooxml</artifactId>
        <version>5.2.3</version>
    </dependency>
</dependencies>

3. 清理并重新构建

执行Maven命令清理旧依赖缓存,重新下载正确版本:

mvn clean install

4. 验证版本

通过以下命令查看依赖树,确认XmlBeans版本为4.0.0:

mvn dependency:tree | grep xmlbeans

内容的提问来源于stack exchange,提问作者Anu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 07:25:28