Verständnis der Signatur der Methode in NoSuchMethod Ausnahme
Habe ich diese Ausnahme aber gelöst.
java.lang.NoSuchMethodError: antlr.NoViableAltForCharException.<init>
(CLjava/lang/String;II)V
Aber ich würde gerne wissen, wie interpretieren Sie diese Art von Nachrichten: "(CLjava/lang/String;II)V"
Außerdem ist dieses "init" schweigen der Konstruktor der NoViableAltForCharException Klasse??
Dank.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Art Unterschriften - entnommen aus auf dieser Seite.
Die JNI verwendet die Java-VM ' s Darstellung der Art Signaturen. Tabelle 3-2 zeigt diese Art von Signaturen.
Beispielsweise die Java-Methode:
hat die folgende Signatur:
Ihre Suche nach einem Konstruktor
antlr.NoViableAltForCharException(char, String, int, int)
aber nicht finden es in der Klasse.Den
<init>
Methode ist der Konstruktor und die<cinit>
- Methode ist die statische Initialisierung von block. Die parameter-Typen aufgeführt sind, die von @gkamal mit dem Zusatz, dassV
ist nichtig. Notionally Konstruktoren zurückvoid
was ist der Grund für dieV
am Ende der Signatur.BTW: Es ist vielleicht ironisch, dass
J
ist für lange undL
ist für die Klasse, wenn es hätteL
für lange undJ
für die Java-Klasse. 😉Sehen die Typen docs. Es ist eine praktische Kurznotation.
Könnten Sie eine veraltete .jar-Datei auf dem server vs, was Sie den code zu kompilieren mit.
Überprüfen Sie, dass alle .jar-Dateien auf dem server sind die gleichen wie die, die Sie kompilieren mit.