ChatGPT解决这个技术问题 Extra ChatGPT

链接到 Javadoc 中的外部 URL?

就像是:

/**
 * See {@linktourl http://google.com}
 */

A
Arsen Khachaturyan

这将创建一个包含链接的“另见”标题,即:

/**
 * @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


如果有人有兴趣,因为我只需要查找它:根据 Javadoc spec@see 标签位于 after @param/@return 标签和 before @since/@serial/@deprecated 标签。
以防万一,Intellij 13 似乎不支持这个标签。它确实支持内联链接。标签是否以某种方式被弃用?
我推荐 <a href="http://google.com" target="_top">http://google.com</a>. 添加 target="_top" 的原因是因为一些生成的 javadoc html 文件使用框架,并且您可能希望导航影响整个页面而不仅仅是当前框架。
为什么将 URL 链接添加到 javadoc 如此复杂?谁认为 HTML 是个好主意……/facepalm
如果其他人像我一样跛脚并在几个小时内寻找内联版本和其他版本之间的差异:请注意“看到”之前的“@”;)
m
matthias krull

取自 javadoc spec

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

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


诡异的;我发誓我只添加了反引号;我不知道这个例子去了哪里......
我认为我们遇到了某种并发编辑问题。我也把它们放进去。
很公平。但是,您在块引用的第一行中缺少反引号....
不需要@see。 javadocs可以用html标签格式化,所以只需要“a”标签。
@GabrielLlamas 是的,但最初的问题暗示这就是它的使用方式。知道它特别适用于另见领域是很有用的,这是很多人想要的。
O
Orlando DFree

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。


S
Sergej

很难从 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";

{@link ...} 包装 <a> html 标记有什么意义?
这可能是一个错误,因为 the javadoc documentation 没有提到这种形式,因为它与原始 <a> 没有区别。
这里的 {@link xxx} 不对。 {@link xxx} 用于链接到源代码中的其他类和方法。这里没有必要。其余的都很好。
Java 8 标准(doclint on)不允许这种结构。
这是完全错误的。根据 referencedocumentation 的正确用法是 {@link package.class#member label}