Corda Java应用流测试初始化失败:Mockito插件异常求助
解决方案
指定Mockito经典Mock Maker
在测试资源目录(src/test/resources)下创建路径org/mockito/plugins,然后新建文件MockMaker,文件内容仅写入:mock-maker-classic这会强制Mockito使用基于CGLIB的经典模拟实现,替代默认的inline Byte Buddy实现,解决Java 8环境下的初始化失败问题。
排查并修复依赖冲突
执行构建工具的依赖分析命令:- Gradle项目:运行
./gradlew dependencies - Maven项目:运行
mvn dependency:tree
查看输出中的Mockito和Byte Buddy依赖版本,确认是否存在多版本冲突。如果有冲突,在构建脚本中排除不兼容的依赖,强制使用与Corda testing库匹配的版本。例如Gradle配置:
testImplementation('net.corda:corda-testing:x.x.x') { exclude group: 'org.mockito' } testImplementation 'org.mockito:mockito-core:2.28.2' // 替换为与你的Corda版本兼容的Mockito 2.x版本- Gradle项目:运行
检查测试运行的JVM参数
若使用IDE运行测试,检查测试运行配置中的VM选项,移除可能干扰Mockito字节码操作的参数(如字节码验证相关限制)。确保JVM参数仅保留必要的配置,避免影响Mockito初始化。
内容的提问来源于stack exchange,提问作者江小白
相关产品推荐
相关产品推荐

