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

JDK从1.8降级至1.7后POI报Unsupported major.minor version 52.0如何解决

问题根因

org/apache/poi/ss/usermodel/CellStyle : Unsupported major.minor version 52.0
该错误表示你当前引入的Apache POI依赖包是基于JDK 1.8编译生成的(类文件版本号52.0对应JDK 1.8),而你的运行环境是JDK 1.7,低版本JVM无法加载高版本编译的类文件,因此触发类加载失败。

解决方法
  • 方案1:降级Apache POI到支持JDK 1.7的版本
    POI从4.0版本开始最低要求JDK 1.8,所以你需要将POI所有相关依赖(包括poi、poi-ooxml、poi-ooxml-schemas等)的版本统一降到3.17及以下,3.17是最后一个支持JDK 1.7的POI稳定版本。
    如果你用Maven管理依赖,修改pom.xml中对应依赖的version即可,示例配置:
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi</artifactId>
        <version>3.17</version>
    </dependency>
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi-ooxml</artifactId>
        <version>3.17</version>
    </dependency>
    
    降级后清理项目缓存重新编译即可解决类版本不兼容问题。
  • 方案2:升级运行环境到JDK 1.8
    如果业务不强制要求使用JDK 1.7,直接将运行环境的JDK版本升级到1.8即可兼容当前的POI依赖包,无需修改代码和依赖配置。
注意事项
  • 所有POI相关依赖的版本必须保持一致,避免出现不同版本类冲突的问题
  • 降级POI到3.17后,需要检查代码中是否使用了4.0及以上版本才新增的API,如果有需要替换为3.17版本支持的等价实现

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 21:51:03