Ссылка Javadoc на метод в другом классе

В настоящее время я ссылаюсь на методы в других классах с этим синтаксисом Javadoc:

@see {@link com.my.package.Class#method()}

И в том, что я понимаю из документации, это правильный способ сделать это. Но теперь к смешной части, или разочарование. Когда я создаю этот javadoc, я прежде всего получаю следующую ошибку:

warning - Tag @see:illegal character: "123" in "{@link com.my.package.Class#method()}"
warning - Tag @see:illegal character: "64" in "{@link com.my.package.Class#method()}"
warning - Tag @see: reference not found: {@link com.my.package.Class#method()}

Сгенерированный код HTML:

"," <code>com.my.package.Class#method()}</code> ","

И, конечно, у меня нет ссылки. Может ли кто-нибудь сказать мне, что происходит, и какие-либо намеки на то, как это исправить?

В соответствии с таблицей ASCII символы 123 и 64 для wold представляют {и @, так почему же эти символы не действительны, если этот синтаксис верен в соответствии с документацией?

Ответ 2

Помимо @see, более общий способ ссылаться на другой класс и, возможно, на метод этого класса {@link somepackage.SomeClass#someMethod(paramTypes)}. Это полезно для использования в середине описания javadoc.

Из документации javadoc (описание тега @link):

Этот тег очень похож на @see - оба требуют одни и те же ссылки и принимают точно такой же синтаксис для элемента package.class # и метки. Основное отличие состоит в том, что {@link} генерирует ссылку в строке, а не помещает ссылку в раздел "См. Также". Кроме того, тег {@link} начинается и заканчивается фигурными фигурными скобками, чтобы отделить его от остальной части встроенного текста.

Ответ 3

Итак, решение исходной проблемы заключается в том, что вам не нужны ссылки "@see" и "{@link...}" в той же строке. Тег "@link" является самодостаточным и, как уже отмечалось, вы можете поместить его в любом месте блока javadoc. Таким образом, вы можете смешивать два подхода:

/**
 * some javadoc stuff
 * {@link com.my.package.Class#method()}
 * more stuff
 * @see com.my.package.AnotherClass
 */