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

Java测试创建EmbeddedKafkaCluster报AsJavaExtensions类未找到错误

问题根因

该异常是Scala版本与Kafka依赖的编译Scala版本不匹配导致的:
scala.collection.convert.AsJavaExtensions是Scala 2.13及以上版本才提供的类,你当前引入的是基于Scala 2.12编译的kafka_2.12依赖,而你项目运行时的Scala类库要么版本低于2.13找不到该类,要么存在多个版本的Scala库冲突。

解决方案

按以下步骤操作即可解决:

  • 第一步:排查依赖冲突
    执行Maven命令 mvn dependency:tree | grep scala 或者Gradle命令 gradle dependencies | grep scala,检查项目中是否同时存在2.12.x和2.13.x版本的Scala相关依赖,如有则统一排除其中一个版本的所有Scala依赖。
  • 第二步:统一版本适配
    二选一即可:
    1. 保留Scala 2.12版本:替换你现有Kafka依赖配置,显式锁定Scala版本并排除冲突依赖,配置参考如下:
    <!-- 显式指定Scala 2.12版本 -->
    <dependency>
        <groupId>org.scala-lang</groupId>
        <artifactId>scala-library</artifactId>
        <version>2.12.17</version>
        <scope>test</scope>
    </dependency>
    <!-- Kafka 测试依赖 -->
    <dependency>
        <groupId>org.apache.kafka</groupId>
        <artifactId>kafka_2.12</artifactId>
        <version>${kafka.version}</version>
        <classifier>test</classifier>
        <scope>test</scope>
        <exclusions>
            <exclusion>
                <groupId>org.scala-lang</groupId>
                <artifactId>*</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.apache.kafka</groupId>
        <artifactId>kafka-clients</artifactId>
        <version>${kafka.version}</version>
        <scope>test</scope>
    </dependency>
    
    1. 切换为Scala 2.13版本(Kafka 3.0+版本优先选择该方案,官方支持更完善):
    <!-- 显式指定Scala 2.13版本 -->
    <dependency>
        <groupId>org.scala-lang</groupId>
        <artifactId>scala-library</artifactId>
        <version>2.13.10</version>
        <scope>test</scope>
    </dependency>
    <!-- Kafka 测试依赖,artifactId后缀改为2.13 -->
    <dependency>
        <groupId>org.apache.kafka</groupId>
        <artifactId>kafka_2.13</artifactId>
        <version>${kafka.version}</version>
        <classifier>test</classifier>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.apache.kafka</groupId>
        <artifactId>kafka-clients</artifactId>
        <version>${kafka.version}</version>
        <scope>test</scope>
    </dependency>
    
  • 第三步:如果是Spring项目,可直接使用spring-kafka-test依赖,它会自动完成Kafka嵌入式组件的版本适配,无需手动配置原生Kafka测试依赖:
    <dependency>
        <groupId>org.springframework.kafka</groupId>
        <artifactId>spring-kafka-test</artifactId>
        <version>${spring.kafka.version}</version>
        <scope>test</scope>
    </dependency>
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 15:09:00