gpt4 book ai didi

java - 分支处的堆栈图帧不一致 - Java8 Maven 单元测试

转载 作者:行者123 更新时间:2023-11-30 07:16:27 25 4
gpt4 key购买 nike

首先我想说,我读了很多关于这个问题的文章,但没有找到任何解决方案。

我有一些单元测试类,我在其中对另一个类使用模拟静态方法。然后,当我运行测试时,它会抛出“分支处的堆栈映射帧不一致...”错误。

我尝试了所有我已知的方法,例如-XX:-UseSplitVerifier 或 -noverify 参数添加到 Maven Surefire 插件,但它们都不能正常工作。我一直处于相同的状态。

我尝试更改 PowerMock 的版本 - 较旧的和最新的 - 没有任何改变。

我使用库:PowerMockito 1.62(使用Javassist 3.19.0-GA版本) java 1.8Maven 3.2.5

请告诉我,在 Java8+ 中是否有任何可行的解决方案来避免此问题?

感谢您的帮助!

最佳答案

字节代码操作工具需要更新它们更改的代码的堆栈映射帧。否则,当您的情况发生时,会抛出 VerifierError 。 Java 8 不再支持通过要求旧 validator (-XX:-UseSplitVerifier) 来禁用堆栈映射帧的验证。

我假设您发现了 Javassist 中的一个错误,该错误能够识别堆栈映射帧并可能错误地发出它们。尝试更新到the latest version图书馆的。如果这不起作用,请创建错误的再现并提交错误。

关于java - 分支处的堆栈图帧不一致 - Java8 Maven 单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38314145/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com