Reputation: 3070
I got this exception but resolved it.
java.lang.NoSuchMethodError: antlr.NoViableAltForCharException.<init>
(CLjava/lang/String;II)V
But i'd like to know how to interpret these kind of messages: "(CLjava/lang/String;II)V" Also, does this "init" mention the constructor of NoViableAltForCharException class??
Thanks.
Upvotes: 16
Views: 11719
Reputation: 1
You could have an outdated .jar file on the server vs what you're compiling your code with. Double check that all .jar files on the server are same as the ones you're compiling with.
Upvotes: 0
Reputation: 21000
Type Signatures - taken from this page.
The JNI uses the Java VM’s representation of type signatures. Table 3-2 shows these type signatures.
Z boolean
B byte
C char
S short
I int
J long
F float
D double
L fully-qualified-class ; fully-qualified-class
[ type type[]
( arg-types ) ret-type method type
For example, the Java method:
long f (int n, String s, int[] arr);
has the following type signature:
(ILjava/lang/String;[I)J
Upvotes: 31
Reputation: 533550
Its looking for a constructor antlr.NoViableAltForCharException(char, String, int, int)
but fails to find it in the class.
The <init>
method is the constructor and the <cinit>
method is the static initialisation block. The parameter types are listed by @gkamal with the addition that V
is void. Notionally constructors return void
which is the reason for the V
at the end of the signature.
BTW: It is perhaps ironic that J
is for long and L
is for class, when it could have been L
for long and J
for Java class. ;)
Upvotes: 8