Я получаю следующее сообщение об ошибке выполнения (вместе с первой строкой трассировки стека, которая указывает на строку 94). Я пытаюсь понять, почему в нем нет такого метода.
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)
Строка 94 writeSummaryLink показана ниже.
ВОПРОСЫ
Что означает "ILcom" или "Z"?
Почему в круглых скобках четыре типа (ILcom/ВС/Javadoc/ClassDoc; Lcom/ВС/Javadoc/MemberDoc; Ljava/языки/String; Z)
и один после круглых скобок Ljava/языки/String;
когда метод printDocLinkForMenu явно имеет пять параметров?
ПОДТВЕРЖДЕНИЕ КОДА
Метод writeSummaryLink:
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);
}
Здесь линия 94 метода вызывает:
public void printDocLinkForMenu(int context, ClassDoc classDoc, MemberDoc doc,
String label, boolean strong) {
String docLink = getDocLink(context, classDoc, doc, label, strong);
print(deleteParameterAnchors(docLink));
}