在Javadoc中如何链接到外部URL?

904

类似这样:

/**
 * See {@linktourl http://google.com}
 */
4个回答

1423

这将创建一个包含链接的“参见”标题,例如:

/**
 * @see <a href="http://google.com">http://google.com</a>
 */

将渲染为:

参见:
           http://google.com

而这个:

/**
 * See <a href="http://google.com">http://google.com</a>
 */

将创建一个内联链接:

查看http://google.com


72
如果有人感兴趣,我刚刚查了一下:根据Javadoc规范@see标签应该放在@param/@return标签之后,@since/@serial/@deprecated标签之前。 - friederbluemle
7
以防万一,Intellij 13似乎不支持这个标签。它支持内联链接。这个标签是否被弃用了? - Timo
36
我建议使用 <a href="http://google.com" target="_top">http://google.com</a>。添加 target="_top" 的原因是因为某些生成的 javadoc html 文件使用了框架,您可能希望导航影响整个页面,而不仅仅是当前的框架。 - Antony
17
为什么在javadoc中添加一个URL链接会这么复杂?谁觉得HTML是个好主意…… /扶额 - Someone Somewhere
4
如果有人和我一样愚蠢,花了几个小时搜索内联版本和其他版本之间的区别:请注意在“See”之前加上“@”。 - István Őri
显示剩余4条评论

203

来自javadoc规范

@see <a href="URL#value">label</a>: 添加一个链接,由URL#value定义。 URL#value 是相对或绝对URL。 Javadoc工具通过查找小于符号(<)作为第一个字符来将其与其他情况区分开来。

例如:@see <a href="http://www.google.com">Google</a>


奇怪,我发誓我只加了反引号,不知道例子去哪了... - Stobor
我认为我们遇到了某种并发编辑问题。我也在进行编辑。 - Aaron
好的。不过你在引用块的第一行缺少了反引号... - Stobor
27
不需要使用 "@see"。Javadocs 可以使用 HTML 标签进行格式化,因此只需要 "a" 标签即可。 - Gabriel Llamas
6
@GabrielLlamas 是的,但原始问题暗示了它被这样使用。知道它确切地在“参见”字段中有效是很有用的,这也是许多人想要的。 - Ionoclast Brigham

47

Javadocs没有为外部链接提供任何特殊工具,因此您应该只使用标准的HTML:

See <a href="http://groversmill.com/">Grover's Mill</a> for a history of the
Martian invasion.
或者
@see <a href="http://groversmill.com/">Grover's Mill</a> for a history of 
the Martian invasion.

不要使用{@link ...}或者{@linkplain ...},因为它们是用于链接到其他类和方法的javadocs。


3
很难从Oracle网站上找到清晰的答案。以下内容来自javax.ws.rs.core.HttpHeaders.java:
/**
 * See {@link <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.1">HTTP/1.1 documentation</a>}.
 */
public static final String ACCEPT = "Accept";

/**
 * See {@link <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.2">HTTP/1.1 documentation</a>}.
 */
public static final String ACCEPT_CHARSET = "Accept-Charset";

2
<a> HTML标签用{@link ...}包装的意义是什么? - Patrick M
4
这可能是一个错误,因为javadoc文档没有提到这种形式,它与原始的<a>标签没有区别。 - Didier L
9
这里的{@link xxx}不正确。{@link xxx}是用于在源代码中链接到其他类和方法的。在这里是不必要的。其余部分是正确的。 - MiguelMunoz
6
Java 8 标准(doclint on)不允许使用该结构。 - Stepan Vavra
3
这是完全错误的。根据参考文献文档,正确的用法是 {@link 包名.类名#成员名 标签} - Dinei
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接