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 представляют { и @, так почему же эти символы недействительны, когда этот синтаксис верен в соответствии с документацией?
3 ответов
для тега Javadoc @see
, вам не нужно использовать @link
; Javadoc создаст для вас ссылку. Попробуй!--5-->
@see com.my.package.Class#method()
помимо @see
, более общий способ ссылки на другой класс и, возможно, метод этого класса -{@link somepackage.SomeClass#someMethod(paramTypes)}
. Это имеет преимущество использования в середине описания javadoc.
С документация javadoc (описание тега @link):
этот тег очень похож на @see-оба требуют одинаковых ссылок и принимают точно такой же синтаксис для пакета.класс#член и метка. Главное отличие в том, что {@link} генерирует встроенную ссылку, а не размещать ссылку в разделе "см. также". Кроме того, тег {@link} начинается и заканчивается фигурными скобками, чтобы отделить его от остального текста в строке.
таким образом, решение исходной проблемы заключается в том, что вам не нужны как "@see", так и "{@link...}" ссылки в той же строке. Тег "@link " самодостаточен и, как уже отмечалось, вы можете поместить его в любом месте блока javadoc. Таким образом, вы можете смешать два подхода:
/**
* some javadoc stuff
* {@link com.my.package.Class#method()}
* more stuff
* @see com.my.package.AnotherClass
*/