JavaDoc @see为MyClass构造函数返回警告"未找到引用"

Sid*_*rth 6 java eclipse javadoc

我正在尝试为我的客户端库创建javadoc.在MyOtherClass中,我把下面的@see,并得到警告.MyOtherClass和MyClass都在不同的包中,在同一个项目中.

@see MyClass#Constructor(Type1 param1, Type2 param2)
warning - Tag @see: reference not found: MyClass#Constructor(Type1 param1, Type2 param2)
Run Code Online (Sandbox Code Playgroud)

然后我试了一下

@see MyClass#MyClass(Type1 param1, Type2 param2) 
warning - Tag @see: reference not found: MyClass#MyClass(Type1 param1, Type2 param2)
Run Code Online (Sandbox Code Playgroud)

也试过了

@see #MyClass(Type1 param1, Type2 param2)
warning - Tag @see: reference not found: MyOtherClass#MyClass(Type1 param1, Type2 param2)
Run Code Online (Sandbox Code Playgroud)

我知道我错过了一些真正愚蠢的东西.

Ste*_*oss 5

这是因为Javadoc需要知道您要引用的类的确切位置才能创建指向它的链接。只需添加上面评论中提到的软件包即可。

@see mypackage.MyClass#Constructor(Type1 p1, Type2 p2)
Run Code Online (Sandbox Code Playgroud)

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)
Run Code Online (Sandbox Code Playgroud)

如果包名很长并且想要隐藏它,则可以使用标签:

@see mypackage.MyClass#Constructor(Type1 p1, Type2 p2) MyClass#Constructor(Type1 p1, Type2 p2)
Run Code Online (Sandbox Code Playgroud)

上面将显示:

也可以看看: MyClass.Constructor(Type1 p1, Type2 p2)

有关@see的更多信息,请参见此处的Oracle文档。


警告:如果您使用某些IDE(例如Eclipse)的代码完成功能来创建Javadoc注释,则可能会为您所引用的包添加导入。尽管通过排除软件包名称可以使您的注释看起来更整洁,但纯粹为文档添加实际依赖关系不是一个好习惯。