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

Elasticsearch索引数据时出现CheckedConsumer类未找到异常如何解决

根因分析

org.elasticsearch.common.CheckedConsumer 仅在Elasticsearch 7.11.x及更早版本的elasticsearch-common依赖包中存在,Elasticsearch官方从7.12版本开始移除了该类。你当前使用的Apache Camel 3.12.0内置的camel-elasticsearch-rest组件默认适配的是Elasticsearch 7.10.x版本客户端,与你引入的7.15.1版本ES依赖不兼容,因此触发类找不到异常。

解决方案
  • 方案1:强制指定ES客户端版本(无需调整服务端版本)
    Elasticsearch高版本服务端兼容低版本官方高级客户端,你可以在项目依赖管理中强制统一所有ES相关依赖的版本为7.10.2,即可补全缺失的类。
    Maven项目参考配置(添加到pom.xml的dependencyManagement节点下):
    <dependencies>
        <!-- 统一ES所有模块版本为7.10.2 -->
        <dependency>
            <groupId>org.elasticsearch</groupId>
            <artifactId>elasticsearch-common</artifactId>
            <version>7.10.2</version>
        </dependency>
        <dependency>
            <groupId>org.elasticsearch.client</groupId>
            <artifactId>elasticsearch-rest-high-level-client</artifactId>
            <version>7.10.2</version>
        </dependency>
        <dependency>
            <groupId>org.elasticsearch.client</groupId>
            <artifactId>elasticsearch-rest-client</artifactId>
            <version>7.10.2</version>
        </dependency>
    </dependencies>
    
  • 方案2:升级Apache Camel版本
    Apache Camel从3.14.0版本开始支持Elasticsearch 7.12+版本客户端,将Camel版本升级到3.14.0及以上稳定版,即可适配7.15.1版本的ES依赖。
  • 方案3:降级ES服务端版本
    若不想调整项目依赖版本,可将Elasticsearch服务端版本降级到7.10.2,和Camel 3.12.0默认适配的客户端版本完全对齐,即可解决兼容问题。
排查验证

修改依赖后可执行mvn dependency:tree(Gradle项目执行./gradlew dependencies)命令检查所有elasticsearch相关依赖的版本,确保版本统一无冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 22:54:07