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

更新JUnit与Mockito依赖后测试无法运行:MockMaker初始化失败

解决Mockito初始化失败(Byte Buddy依赖问题)

问题分析

你碰到的java.lang.IllegalStateException: 无法初始化org.mockito.plugins.MockMaker插件,核心原因就是Byte Buddy依赖缺失或版本不兼容——Mockito 5.x系列对Byte Buddy有明确的版本要求,net.bytebuddy.utility.GraalImageCode类属于Byte Buddy核心包,找不到说明依赖链出现了断裂或版本冲突。

解决方案

1. 显式添加兼容的Byte Buddy版本

Mockito 5.3.1需要搭配Byte Buddy 1.14.x系列版本,直接在子POM中添加这两个依赖:

<dependencies>
    <!-- JUnit Jupiter Engine -->
    <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter-engine</artifactId>
        <version>5.9.2</version>
        <scope>test</scope>
    </dependency>
    <!-- Mockito Core -->
    <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-core</artifactId>
        <version>5.3.1</version>
        <scope>test</scope>
    </dependency>
    <!-- 补充兼容的Byte Buddy核心依赖 -->
    <dependency>
        <groupId>net.bytebuddy</groupId>
        <artifactId>byte-buddy</artifactId>
        <version>1.14.11</version>
        <scope>test</scope>
    </dependency>
    <!-- 补充Byte Buddy Agent依赖 -->
    <dependency>
        <groupId>net.bytebuddy</groupId>
        <artifactId>byte-buddy-agent</artifactId>
        <version>1.14.11</version>
        <scope>test</scope>
    </dependency>
</dependencies>

2. 强制统一Byte Buddy版本(解决依赖冲突)

如果父POM或其他第三方依赖引入了不同版本的Byte Buddy,可在子POM的<dependencyManagement>中强制锁定版本:

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>net.bytebuddy</groupId>
            <artifactId>byte-buddy</artifactId>
            <version>1.14.11</version>
        </dependency>
        <dependency>
            <groupId>net.bytebuddy</groupId>
            <artifactId>byte-buddy-agent</artifactId>
            <version>1.14.11</version>
        </dependency>
    </dependencies>
</dependencyManagement>

3. 验证依赖树确保无冲突

执行Maven命令查看Byte Buddy的依赖情况,确认版本是否统一:

mvn dependency:tree -Dincludes=net.bytebuddy

如果输出中出现多个版本,说明还有未排除的冲突,需在对应依赖中添加<exclusions>节点排除旧版本。

关键注意点

  • Mockito 5.x完全不兼容Byte Buddy 1.13及以下版本,必须使用1.14+系列
  • JUnit 5.9.2本身和Byte Buddy无强冲突,但要保证Mockito的依赖链完整

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 23:43:12