IntelliJ IDEA Kotlin项目编译报Unresolved reference: apache错误求助
解决方案
1. 补全缺失的POI依赖
你当前仅引入了POI核心包poi,而处理docx格式所需的XWPFDocument、XWPF相关类全部在poi-ooxml扩展包中,需要新增该依赖:
如果使用Gradle配置,新增:
implementation 'org.apache.poi:poi-ooxml:5.0.0'
如果你使用本地libs目录导入jar包,需要将POI解压包中根目录的poi-ooxml jar、ooxml-lib子目录下的全部jar包都添加到项目依赖中,不能仅导入核心包。
2. 检查依赖作用域
- 如果是Gradle/Maven项目,确认上述依赖是写在main源码集的依赖配置中,不要误写在test依赖配置下
- 如果是IDEA手动添加的库,打开
File -> Project Structure -> Libraries,确认你添加的POI库作用域勾选了Compile,未被限制为Test场景可用。
3. 命令行编译注意事项
使用kotlinc命令行编译时,需要手动指定依赖的classpath,不能直接编译单个kotlin文件,示例命令如下(假设所有依赖jar都放在libs目录下):
kotlinc src/main/kotlin/main.kt -cp "libs/*.jar" -d runnable.jar
4. 验证修复
依赖配置修改完成后,先点击IDEA右侧Gradle/Maven面板的刷新按钮同步依赖,再执行Build -> Rebuild Project重新编译即可。你提前添加的aalto-xml依赖和xml工厂配置是POI 5+版本兼容JDK的正确操作,依赖补全后即可正常生效。
内容的提问来源于stack exchange,提问作者Andrew
相关产品推荐
相关产品推荐

