期待一个stackmap框架 - Java 8

时间:2015-02-02 00:00:54

标签: java testing java-8 java-bytecode-asm

我收到此错误"在此位置期待堆栈图框架"。我使用的是Java 8.我知道对于Java 7,有一种解决方法可以使用-XX:-UseSplitVerifier来使用不太严格的验证方法。但是,在Java 8中删除了该选项。我想知道是否有任何其他解决方案。切换到早期的Java不是一种选择。

1 个答案:

答案 0 :(得分:2)

选项-XX:-UseSplitVerifier旨在为字节码库和工具开发人员提供时间来赶上并修复stackmap表的问题。 JVM开发人员决定在最新的JRE中删除该选项,因为有足够的时间来修复这些工具。

所以最好的解决方案是遵循这个意图并使用最新的工具及其选项来生成正确的stackmap帧。由于您已使用标记了问题,因此我建议您在创建类文件时使用其标记ClassWriter.COMPUTE_FRAMES