我正在尝试为我的客户端库创建 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)
我知道我在这里遗漏了一些非常愚蠢的东西。
最佳答案
这是因为 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 文档 here有关@see的更多信息
警告:如果您使用某些 IDE(例如 Eclipse)的代码完成功能来创建 Javadoc 注释,它可能会为您引用的包添加导入。虽然这可能会通过排除包名称使您的评论看起来更清晰,但纯粹为了文档添加实际依赖项并不是一个好的做法。
关于返回警告 "reference not found"的 MyClass 构造函数的 JavaDoc @see,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9970823/