2009-03-05 80 views
5
java.lang.VerifyError: (class: a method: parse signature: 
()Z) Incompatible argument to function 

public boolean parse() { 


} 

这个错误是什么意思,以及如何解决这些类型的错误java的郎校验错误

+0

你能给出一个* complete *代码示例以及关于你正在使用哪个JVM,主机平台等的一些背景信息? – JesperE 2009-03-05 07:58:00

回答

5

通常这种错误是与版本的问题,您使用的是不同版本的库比您正在使用运行编译。在java 1.5类型的强制转换中,也会出现一些相当微妙的变体,1.4编译器会选择不同的方式。用1.5重新编译所有东西,并确保你使用的是相同的版本。

1

我刚刚发现这一点:

时抛出的“校验器”检测 到一个类文件,虽然格式良好,但是 包含某种内部不一致或安全问题。 Java API

您是否返回了布尔值?

请问您能否提供更多信息,设置哪个环境?我想,安全问题很重要。

2

它通常是关于Java 1.5或6兼容性问题(如尝试编译Java5或6代码与旧的1.4 javac)。

清理所有.class文件并从头开始重建,检查是否将JDK和JRE放在同一级别。


它也可以是从第三方类方法“返回项目”到您的本地的一个不好的类型转换。

0

好吧,首先好像是返回值是missong。 您应该返回一个布尔值。 但这不是问题。 这种异常的,当你在一个循环

的作个参考,不能得到解决, 像assignement出现(I = I,I = XX;!我++)

检查这种引用。

路易斯