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

Gradle引入Apache POI依赖时的重复类错误及类缺失问题

解决Apache POI依赖冲突与类缺失问题

问题根源

  • org.apache.poi:poi-ooxml:5.2.3依赖精简版OOXML Schema包(poi-ooxml-lite),仅包含常用类,缺少CTLevelSuffix、STLevelSuffix这类小众schema类
  • org.apache.poi:poi-ooxml-full:5.2.3包含完整的OOXML Schema,但同时引入两个依赖时,poi-ooxml自带的lite版schema会和full版的完整schema类重复,触发冲突
  • 单独使用poi-ooxml-full时找不到XWPF类,大多是Gradle依赖同步不彻底或传递依赖未正确加载导致

解决方案

1. 清理依赖,仅保留完整包

修改build.gradle(:app)的依赖块,移除poi-ooxml,只保留poi-ooxml-full:

dependencies {
    // 保留原有其他依赖
    androidTestImplementation 'androidx.test.ext:junit:1.1.3'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
    implementation 'com.github.bumptech.glide:glide:4.13.1'
    implementation 'com.github.Gavras:MultiLineRadioGroup:v1.0.0.6'
    
    // 仅保留完整POI OOXML依赖
    implementation 'org.apache.poi:poi-ooxml-full:5.2.3'
}

2. 强制同步并重建项目

  • 点击Android Studio右上角的「Sync Project with Gradle Files」按钮,完成依赖同步
  • 执行「Build > Clean Project」,再执行「Build > Rebuild Project」,确保旧依赖缓存被清除

3. 验证导入

此时应该能正常导入所有需要的类:

// XWPF相关类
import org.apache.poi.xwpf.usermodel.XWPFAbstractNum;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFNumbering;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;

// Schema相关类(包括之前缺失的两个)
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTAbstractNum;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTLvl;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTNumPr;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.STNumberFormat;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.STLevelSuffix;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTLevelSuffix;

额外处理(若遇到方法数超限)

Apache POI依赖包体积较大,可能触发Android的65536方法数限制,需开启Multidex:
在build.gradle(:app)的android块中添加配置:

android {
    defaultConfig {
        // 其他原有配置
        multiDexEnabled true
    }
}

dependencies {
    // 添加Multidex依赖
    implementation 'androidx.multidex:multidex:2.0.1'
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 23:05:27