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

public boolean parse() { 


} 

Was bedeutet dieser Fehler bedeuten und wie diese Art von Fehler zu behebenjava lang überprüfen Fehler

+0

Können Sie ein * vollständiges * Codebeispiel zusammen mit einigen Hintergrundinformationen über die von Ihnen verwendete JVM, die Hostplattform usw. geben? – JesperE

Antwort

5

normalerweise diese Art von Fehler bezieht sich auf die Version Probleme, die Sie mit einer anderen Version einer Bibliothek zusammenzustellen, als Sie mit ausgeführt werden. Es gibt auch einige recht subtile Varianten, die mit Java 1.5-Typ-Zwangsbedingungen auftreten können, wobei ein 1.4-Compiler anders wählen würde. Kompilieren Sie alles mit 1.5 neu und stellen Sie sicher, dass Sie die gleichen Versionen verwenden.

1

Ich habe gerade dieses:

Geworfen, wenn der „Prüfer“ erkennt , dass eine Klassendatei , obwohl gut gebildet, enthält eine Art von internen Inkonsistenz oder Sicherheitsproblem . Java API

Haben Sie einen booleschen Wert zurückgegeben?

Könnten Sie bitte weitere Informationen geben, welche Umgebung eingestellt ist? Die Sicherheitsfrage ist wichtig, denke ich.

2

In der Regel handelt es sich um ein Java 1.5 oder 6 Kompatibilitätsproblem (wie zum Beispiel einen Java5 oder 6 Code mit einem älteren 1.4 Javac kompilieren).

Bereinigen Sie alle Ihre .class-Dateien und erstellen Sie sie von Grund auf neu. Überprüfen Sie, ob JDK und JRE auf demselben Niveau sind.

Es kann auch eine schlechte Typumwandlung von einer Drittanbieter-Klassenmethode "return items" zu Ihren lokalen sein.

0

gut, scheint zuerst, dass der Rückgabewert Missong ist. Sie sollten einen booleschen Wert zurückgeben. Aber das ist nicht das Problem. Diese Art von Ausnahme wird angezeigt, wenn Sie einen Verweis zu machen, die in einer Schleife ein assignement nicht gelöst werden können, wie

for (i = i; i = XX;! I ++)

solche Referenzen zu überprüfen.

Luis

Verwandte Themen