Die Nachricht java.lang.NoSuchMethodError interpretieren

Bekomme ich die folgenden Laufzeit-Fehlermeldung angezeigt (zusammen mit der ersten Zeile des stack-trace, welche Punkte zu Zeile 94). Ich versuche, herauszufinden, warum es sagt, dass keine solche Methode vorhanden ist.

java.lang.NoSuchMethodError: 
com.sun.tools.doclets.formats.html.SubWriterHolderWriter.printDocLinkForMenu(
    ILcom/sun/javadoc/ClassDoc;Lcom/sun/javadoc/MemberDoc;
    Ljava/lang/String;Z)Ljava/lang/String;
at com.sun.tools.doclets.formats.html.AbstractExecutableMemberWriter.writeSummaryLink(
    AbstractExecutableMemberWriter.java:94)

Linie 94 von writeSummaryLink ist unten dargestellt.

FRAGEN

Was bedeutet "ILcom" oder "Z" zu bedeuten?

Warum gibt es vier Typen in Klammern
(ILcom/Sonne/javadoc/ClassDoc;Lcom/Sonne/javadoc/MemberDoc;Ljava/lang/String;Z)
und einer nach dem Klammern
Ljava/lang/String;
wenn die Methode printDocLinkForMenu klar hat fünf Parameter?

CODE DETAIL

Die writeSummaryLink Methode ist:

protected void writeSummaryLink(int context, ClassDoc cd, ProgramElementDoc member) {
    ExecutableMemberDoc emd = (ExecutableMemberDoc)member;
    String name = emd.name();
    writer.strong();
    writer.printDocLinkForMenu(context, cd, (MemberDoc) emd, name, false);  //94
    writer.strongEnd();
    writer.displayLength = name.length();
    writeParameters(emd, false);
}

Hier ist die Methode, Zeile 94 ruft:

public void printDocLinkForMenu(int context, ClassDoc classDoc, MemberDoc doc,
        String label, boolean strong) {
    String docLink = getDocLink(context, classDoc, doc, label, strong);
    print(deleteParameterAnchors(docLink));
}

InformationsquelleAutor der Frage dougkramer | 2010-05-31

Schreibe einen Kommentar