java.lang.VerifyError: Inconsistent stackmap frames at branch target 775
Exception Details:
Location:
com/../..../class.method()
Reason:
Type 'java/sql/Connection' (current frame, locals[6]) is not assignable to 'java/lang/Class' (stack map, locals[6])
这是我尝试执行junit时得到的结果。
junit 4.8.1 org.mockito 1.8.5 org.powermock 1.3.9 javassist 3.12.0-GA
答案 0 :(得分:2)
您使用的是哪个JDK版本?
我有一个类似的问题,并通过将-noverify添加到JVM参数来解决它。
答案 1 :(得分:1)
如果你使用jdk8 +,你可能需要更新javassist,javassist 3.20-不支持jdk8 +。
<dependency>
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
<version>3.20.0-GA</version>
<scope>test</scope>
</dependency>
答案 2 :(得分:0)
I was facing the same issue.As i was using Proguard at my end.So i added
**-dontpreverify**
in proguard.txt file. Beause this issue is related to Java 7
You can check here:- [enter link description here][1]
[1]: http://proguard.sourceforge.net/manual/usage.html
以上情况是您使用proguard。
答案 3 :(得分:0)
我在使用JDK 1.7.0_79时遇到了类似的问题,我可以通过在VM参数中添加以下参数来解决它。 -noverify
答案 4 :(得分:0)
以下选项对我有用。我的Java版本是1.8.0_181
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-api-easymock</artifactId>
<version>${powermock.version}</version>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
<version>3.21.0-GA</version>
<scope>test</scope>
</dependency>
答案 5 :(得分:0)
通过将模拟版本从2.5.0升级到2.24.5 FWIW,修复了创建模拟时的类似问题“ java.lang.VerifyError”(未提及堆栈图)。