Java7 ClassFormatError:创建对象时非法的局部变量表长度

我在执行以下代码时遇到这个奇怪的错误。

EncoderRequest encoderRequest = new EncoderRequest(sid,appTxnId,pfid,transactionType,"",isUpdatetype9,true); 

我检查了所有参数值是否有效。 我正在使用java7平台。 任何人都可以遇到这种情况,请帮忙。

以下是我得到的stacktrace的一部分。

Caused by: java.lang.ClassFormatError: Illegal local variable table length 48 in method com.cmc.facts.encoder.EncoderRequest.(JLjava/lang/String;Ljava/lang/Long;Lcom/cmc/facts/enums/TransactionType;Ljava/lang/String;ZZ)V at com.cmc.facts.nist.NistReaderModel.preprossingOfNistFile(NistReaderModel.java:180) at com.cmc.facts.action.interstate.InterStateAction.uploadFIIF(InterStateAction.java:645) ... 115 more

在Junit测试和类似的测试中,先前有过相同错误的报告。

对于他们来说,添加JVM arg -XX:-UseSplitVerifier似乎有效

看看这篇文章

您也可以执行此配置:在jvg args中添加-noverify

对于ant配置,你可以这样做:

您可以点击链接了解我们为什么需要这样做的更多详细信息。