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

时间:2013-08-01 11:40:17

标签: java java-ee java-7

执行以下代码时出现这个奇怪的错误。

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.<init>(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

2 个答案:

答案 0 :(得分:18)

之前有报道称Junit测试和类似的错误相同。

对于他们来说,添加JVM arg -XX:-UseSplitVerifier似乎可以正常工作

查看this article

答案 1 :(得分:1)

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

对于ant配置,您可以执行:<jvmarg value="-noverify"/>

您可以按照link了解我们需要执行此操作的详细信息。