首页 > 解决方案 > java.lang.VerifyError:堆栈形状不一致

问题描述

以下代码在java 1.6and上运行良好maven 2.2.1

public class GTMEnrollmentOutputRecord extends com.ibm.ivj.eab.record.cobol.CobolRecord implements java.io.Serializable
{
   public GTMEnrollmentOutputRecord() throws RecordException
   {
      try {
         //Getting error at the below line
         GTMEnrollmentOutputRecordType dynRecType = new GTMEnrollmentOutputRecordType();

升级到 for 后Java 1.7Maven 3.3.3IBM Webspehere 8.5.5.3收到以下错误:

java.lang.VerifyError: JVMVRFY012 stack shape inconsistent

标签: java

解决方案


Java 7 更改了堆栈帧的格式,并在JSR 202: Java Class File Specification Update中引入了格式检查。此错误最可能的原因是第 3 方库以较旧的 Java 6 格式(例如ASMCGLIB )生成字节码。

您需要检查您的项目依赖项并确保它们都支持 Java 7。


推荐阅读