JavaDoc @see для конструктора MyClass, возвращающего предупреждение "ссылка не найдена" - PullRequest
6 голосов
/ 02 апреля 2012

Я пытаюсь создать Javadoc для моей клиентской библиотеки. В MyOtherClass я поставил ниже @see и получаю предупреждения. MyOtherClass и MyClass находятся в разных пакетах в одном проекте.

@see MyClass#Constructor(Type1 param1, Type2 param2)
warning - Tag @see: reference not found: MyClass#Constructor(Type1 param1, Type2 param2)

Тогда я попробовал

@see MyClass#MyClass(Type1 param1, Type2 param2) 
warning - Tag @see: reference not found: MyClass#MyClass(Type1 param1, Type2 param2)

Также пробовал

@see #MyClass(Type1 param1, Type2 param2)
warning - Tag @see: reference not found: MyOtherClass#MyClass(Type1 param1, Type2 param2)

Я знаю, что мне здесь не хватает чего-то очень глупого.

1 Ответ

5 голосов
/ 27 марта 2014

Это потому, что Javadoc должен знать точное местоположение класса, на который вы ссылаетесь, чтобы создать ссылку на него.Просто добавьте пакет, как было упомянуто в комментарии выше.

@see mypackage.MyClass#Constructor(Type1 p1, Type2 p2)

Инструмент javadoc позволит вам использовать ярлыки следующим образом:

// For methods in the same class:
@see #Constructor(Type1 p1, Type2 p2)

// For methods in the same package:
@see MyClass#Constructor(Type1 p1, Type2 p2)

Если у вас длинное имя пакета иЧтобы скрыть это, вы можете использовать метку:

@see mypackage.MyClass#Constructor(Type1 p1, Type2 p2) MyClass#Constructor(Type1 p1, Type2 p2)

Выше будет отображаться:

См. также: MyClass.Constructor(Type1 p1, Type2 p2)

См.Документация Oracle здесь для получения дополнительной информации о @see


Предупреждение: Если вы используете функцию автозавершения кода некоторых IDE (например, Eclipse) для создания комментариев Javadoc, он может добавить импортпакет, на который вы ссылаетесь вместо этого.Хотя это может сделать ваши комментарии более понятными, исключив имя пакета, но не рекомендуется добавлять реальные зависимости исключительно для документации.
...