Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javadoc链接到其他类中的方法_Java_Javadoc - Fatal编程技术网

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

目前,我正在使用以下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表格,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文档或其他一些文档显然不清楚。这个答案是唯一有例子的答案,上面两个答案是引文。