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

运行Java主程序时遭遇JNI错误与UnsupportedClassVersionError问题求助

解决Java UnsupportedClassVersionError问题

这个错误的根源很明确:你的代码是用Java 11(类文件版本55.0)编译的,但当前运行代码的JRE是Java 8(仅支持最高类文件版本52.0),版本不兼容导致了这个问题。单独运行子项目没问题,大概率是子项目的编译和运行环境是统一的,但主项目的编译配置和运行环境出现了不一致。

下面是具体的解决步骤:

  • 统一Java运行环境:要么把你的JRE升级到Java 11或更高版本,要么如果项目允许的话,把编译环境降级到Java 8,确保编译和运行用同一个版本的Java。
  • 检查IDE的配置一致性:如果你用IDE(比如IntelliJ IDEA、Eclipse)开发,要确认这几个地方的版本一致:
    • 项目的SDK版本
    • 各个模块的SDK版本
    • 运行main函数的配置中选择的JRE版本
  • 调整构建工具的编译参数:如果用Maven或Gradle构建项目,要明确指定源码和目标字节码的版本:
    比如Maven在pom.xml中添加:
    <properties>
        <maven.compiler.source>1.8</maven.compiler.source> <!-- 或者11,根据你的选择 -->
        <maven.compiler.target>1.8</maven.compiler.target>
    </properties>
    
    Gradle则在build.gradle中设置:
    java {
        sourceCompatibility = JavaVersion.VERSION_1_8 // 或者VERSION_11
        targetCompatibility = JavaVersion.VERSION_1_8
    }
    
  • 验证子项目的编译版本:虽然单独运行子项目没问题,但要确认子项目的编译版本和主项目的运行版本兼容,避免主项目依赖了高版本编译的子项目类文件。

补充一下Java版本和类文件版本的对应关系,方便你参考:

  • Java 8 → 52.0
  • Java 11 → 55.0

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 09:18:12