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代表{和@,为什么这些字符在这个语法正确时根据文档是否有效?

对于Javadoc标签@see ,你不需要使用@link ; Javadoc将为您创build一个链接。 尝试

 @see com.my.package.Class#method() 

这是关于@see的更多信息。

除了@see之外,更通用的引用另一个类的方法以及该类可能的方法是{@link somepackage.SomeClass#someMethod(paramTypes)} 。 这有利于在javadoc描述中使用。

从javadoc文档(描述@link标签) :

这个标签与@see非常相似 – 都需要相同的引用,并且接受完全相同的package.class#成员和标签的语法。 主要区别在于{@link}会生成一个内嵌链接,而不是将链接放置在“另请参见”部分。 此外,{@link}标签以花括号将其与其他内嵌文本分开。

所以对原始问题的解决scheme是,您不需要同一行上的“@see”和“{@link …}”引用。 “@link”标签是自给自足的,如上所述,你可以把它放在javadoc块的任何地方。 所以你可以混合两种方法:

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