IntelliJ IDEA 17.0.6使用OpenNLP 2.2.0遇类文件版本错误求助
问题分析
报错里的class file has wrong version 55.0, should be 52.0是核心原因:
- 55.0是Java 11编译生成的类文件版本
- 52.0对应你当前项目使用的Java 8运行环境
OpenNLP 2.2.0及更新版本都是基于Java 11构建的,所以哪怕换更高版本的OpenNLP,依然会和Java 8环境冲突。
解决办法
有两种可行方案:
方案1:升级项目JDK到Java 11或更高
- 打开IntelliJ IDEA,进入
File > Project Structure - 在
Project Settings > Project中,将Project SDK和Project language level都改为Java 11或更高版本 - 同步检查
Modules里的Language level是否一致 - 最后确认
Settings > Build, Execution, Deployment > Compiler > Java Compiler中的Target bytecode version设置为Java 11+
方案2:降级OpenNLP到兼容Java 8的版本
OpenNLP 1.9.x系列是最后支持Java 8的版本,推荐使用opennlp-tools-1.9.4:
- 彻底移除项目中现有的opennlp-tools-2.2.0及更新版本的依赖
- 引入opennlp-tools-1.9.4依赖(如果用Maven,在pom.xml中添加):
<dependency> <groupId>org.apache.opennlp</groupId> <artifactId>opennlp-tools</artifactId> <version>1.9.4</version> </dependency>
- 重新同步项目依赖,执行清理后再重新构建项目
额外排查点
如果更换版本后仍报错,检查以下两点:
- 项目目录中是否残留高版本OpenNLP的jar包,全部删除后再重新引入依赖
- 清理IntelliJ缓存:执行
File > Invalidate Caches... > Invalidate and Restart,重启后再尝试构建
内容的提问来源于stack exchange,提问作者Hamza
相关产品推荐
相关产品推荐

