由于一些历史原因,JDK6和JDK7可能会出现一些字节码验证的问题。完整的异常信息类似于
java.lang.VerifyError: Expecting a stackmap frame at branch target 11 in method com.evernotetodoweb.server.MockOAuthRequestServer.<init>()V
解决方案有两中,一、换回JDK6 二、运行时加入-XX:-UseSplitVerifier参数
这个问题我在TeamCity中使用EMMA时遇到。修改后的ANT配置如下
1: <junit printsummary="true">
2: <classpath>
3: <pathelement path="${test.build}" />
4: <path refid="library.all" />
5: </classpath>
6: <batchtest fork="yes">
7: <fileset dir="${test.src}">
8: <include name="**/Test*.java" />
9: </fileset>
10: </batchtest>
11: <jvmarg value="-XX:-UseSplitVerifier"/>
12: </junit>
|