使用CamundaMockito模拟DelegateExecution时出现NoClassDefFoundError求助
解决CamundaMockito模拟DelegateExecution时的ClassNotFoundException问题
问题根源
测试代码报错是因为项目缺少包含org.camunda.bpm.engine.variable.VariableMap类的Camunda依赖包,JVM在运行时找不到该类定义。
修复步骤
在Maven项目的pom.xml中添加对应依赖:
方式1:引入完整Camunda引擎依赖
<dependency> <groupId>org.camunda.bpm</groupId> <artifactId>camunda-engine</artifactId> <version>你的Camunda版本号</version> <scope>test</scope> </dependency>
方式2:仅引入变量模块依赖
如果不需要完整引擎,可单独引入变量模块:
<dependency> <groupId>org.camunda.bpm</groupId> <artifactId>camunda-engine-variable</artifactId> <version>你的Camunda版本号</version> <scope>test</scope> </dependency>
注意:替换
你的Camunda版本号为项目实际使用的版本(比如7.21.0),且版本需与CamundaMockito依赖版本保持一致,避免版本冲突。
额外验证
- 确认CamundaMockito依赖已正确引入:
<dependency> <groupId>org.camunda.bpm.extension.mockito</groupId> <artifactId>camunda-bpm-mockito</artifactId> <version>对应版本号</version> <scope>test</scope> </dependency>
- 执行
mvn clean test重新构建测试,确保依赖下载并生效。
内容的提问来源于stack exchange,提问作者Wayne
相关产品推荐
相关产品推荐

