Javadoc链接到其他类中的方法
目前,我正在使用以下Javadoc语法引用其他类中的方法:Javadoc链接到其他类中的方法,java,javadoc,Java,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:illega
@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表格,wold的字符123和64表示{和@,那么根据文档,当语法正确时,为什么这些字符无效?对于Javadoc标记
@请参见,您不需要使用@link
;Javadoc将为您创建一个链接。试试看
@see com.my.package.Class#method()
除了<代码> @参见,更一般的方法是引用另一个类和该类的可能的方法,是“代码> {链接SopEpCase.MeCasLaskSoMeMod(PARAMTYPE)} /Cyto>。这有利于在JavaDoc描述的中间使用。
从:
这个标记与@see非常相似–两者都需要相同的引用,并且接受package.class#member和label完全相同的语法。主要区别在于{@link}生成一个内联链接,而不是将链接放在“see”部分。另外,{@link}标记以大括号开始和结束,以将其与行内文本的其余部分分开
因此,原始问题的解决方案是,您不需要在同一行上同时使用“@see”和“{@link…}”引用。“@link”标记是自给自足的,如前所述,您可以将其放在javadoc块的任何位置。因此,您可以混合使用这两种方法:
/**
* some javadoc stuff
* {@link com.my.package.Class#method()}
* more stuff
* @see com.my.package.AnotherClass
*/
只是想检查一下……您是否阅读了Javadoc生成器文档?您是否在这个Javadoc编写的类中导入了com.my.package.Class
?未找到的引用似乎很奇怪。另一方面,我从未将它们组合使用,但有可能@see
和@link
相互冲突,使用>@see
生成自己的Section,这不会让我感到惊讶。@DiogoMoreira-不,我没有读过关于引擎的内容,但我会检查它。@Gamb-当然,这不是我实际的Javadoc输入;-)是的,所有导入都已就绪。如果在Javadoc中放置一个原始超链接作为@see
标记的值,则会发生类似的错误。若要在这里修复它,请执行以下操作:用html锚元素包装超链接:/***请参见*/
谢谢,我刚刚测试了这个解决方案,效果很好!但是我已经在很多地方读过了,你应该使用see中的链接来实现它,所以这有点奇怪……你可以在Javadoc还没有变成lin的其他地方使用@link
k、 例如,在@param
的描述中,在@return
的描述中,在描述的主要部分中,等等。当我刚刚尝试此方法时,它将方法显示为纯文本,它不能像本地方法中的@see那样单击。这应该是可接受的答案,因为其他两个答案不显示需要使用“@link”或“@see”在多行注释中/***/不是单行注释row@Sniper,{@link}
在一行Javadoc注释中可以很好地工作,您可能是指它们不使用以/
开头的注释吗?/***/
是Javadoc,对于任何Javadoc函数都是必需的。是的@Jase我正好遇到了这一点,注释需要是/***/,但不需要//@Sniper我认为这不是必需的因为这是一个Javadoc问题,所以我不同意这个被接受的答案-一般来说,Javadoc只适用于Javadoc注释。@Jase有点同意你的观点,但我相信像Stackoverflow这样的信息源需要通过示例进行解释,而不是引用Oracle文档或其他一些文档显然不清楚。这个答案是唯一有例子的答案,上面两个答案是引文。