IntelliJ IDEA中使用TestNG框架报类版本错误如何解决
IntelliJ IDEA 运行TestNG报class版本错误排查方案
报错核心原因
Java class文件版本号和JDK版本有固定对应关系:
- 版本号52.0 对应 JDK 8
- 版本号55.0 对应 JDK 11
该报错本质是版本不兼容:当前项目编译运行环境为JDK 8,但引入的testng-7.6.0.jar是基于JDK 11编译的,低版本JDK无法加载高版本编译的class文件。
具体解决步骤
- 方案1:升级项目JDK到11及以上,适配高版本TestNG
按快捷键Ctrl+Alt+Shift+S打开Project Structure(项目结构)配置页,完成3处配置对齐:- 进入Project标签页,将Project SDK、Project language level均设置为JDK 11或更高版本
- 进入Modules标签页,将所有模块的Language level同步设置为和项目配置一致的JDK版本
- 进入SDKs标签页,确认选中的JDK 11安装路径配置正确,未指向本地旧的JDK 8路径
配置完成后重启IDEA,重新运行测试用例即可。
- 方案2:降级TestNG版本,保留JDK 8运行环境
若项目必须使用JDK 8编译运行,直接替换现有TestNG依赖即可:TestNG 7.5及更低版本均兼容JDK 8,例如替换为testng-7.5.jar。替换完成后在Project Structure的Libraries配置中删除原有7.6.0版本的jar引用,重新添加新下载的低版本TestNG jar路径,重新构建项目即可。 - 异常兜底处理
配置修改后如果仍触发报错,先执行IDEA菜单栏的Build -> Rebuild Project做全量项目重构建;如果问题依旧,打开File -> Invalidate Caches...,勾选清除缓存选项后重启IDEA,排除本地旧缓存文件的干扰。
原始报错信息对照:
java: cannot access org.testng.annotations.Test
bad class file: /C:/Users/Aswini Roy/Downloads/testng jar/testng-7.6.0.jar!/org/testng/annotations/Test.class
class file has wrong version 55.0, should be 52.0
Please remove or make sure it appears in the correct subdirectory of the classpath.
内容的提问来源于stack exchange,提问作者Ravi
相关产品推荐
相关产品推荐

