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

升级Hibernate Reactive至2.0.0.Final后遇NoClassDefFoundError求助

解决Hibernate Reactive 2.0.0.Final的NoClassDefFoundError问题

问题根源

你遇到的NoClassDefFoundError: org.hibernate.engine.spi.ComparableExecutable主要来自两个核心问题:

  • 手动指定的hibernate-core版本与hibernate-reactive-core 2.0.0.Final不兼容,两者版本必须严格绑定匹配
  • 配置中使用了JDBC风格属性,但Hibernate Reactive依赖Vertx反应式客户端,不支持JDBC相关配置项

修复步骤

1. 修正依赖配置

移除手动添加的hibernate-core和org.postgresql依赖——hibernate-reactive-core已经包含了适配的Hibernate Core传递依赖,且Vertx PG客户端自带PostgreSQL支持,无需额外引入JDBC驱动:

// rds reactive db
implementation 'org.hibernate.reactive:hibernate-reactive-core:2.0.0.Final'
implementation 'com.ongres.scram:client:2.1'
implementation 'org.hibernate.validator:hibernate-validator:7.0.2.Final'
implementation 'io.smallrye.reactive:mutiny-reactor:2.2.0'
implementation 'io.vertx:vertx-pg-client:4.4.2'
implementation 'org.glassfish:jakarta.el:4.0.2'

2. 调整Hibernate配置属性

将JDBC风格的配置替换为Hibernate Reactive专用属性:

public Map<String, String> hibernateProperties() {
    var connectionUrl = rdsProperties.getConnectionUrl();
    var isNotProd = !activeProfile.equals("prod");
    return Map.of(
            "hibernate.reactive.url", connectionUrl,
            "hibernate.reactive.username", rdsProperties.getUsername(),
            "hibernate.reactive.password", rdsProperties.getPassword(),
            "jakarta.persistence.schema-generation.database.action", rdsProperties.getDdlAuto(),
            "hibernate.show_sql", "false",
            "hibernate.default_schema", rdsProperties.getSchema()
    );
}

3. 验证依赖一致性

执行依赖树检查命令(以Gradle为例),确保没有冲突的Hibernate Core版本:

./gradlew dependencies | grep hibernate-core

确认输出的版本是与hibernate-reactive-core 2.0.0.Final对应的6.3.x系列版本(Hibernate Reactive 2.x基于Hibernate ORM 6.3)。

额外说明

Hibernate Reactive 2.x系列完全基于Jakarta Persistence 3.1和Hibernate ORM 6.3,不能与旧版本Hibernate Core混用,否则必然出现类缺失或兼容性问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 05:58:36