如何在javadocs中编写链接?
目前,我有类似以下的内容:
{@link java.lang.Math#sqrt(double) Math.sqrt}
为了生成文本Math.sqrt
,它应该链接到java.lang.Math.sqrt(double)
API,但它只是生成文本,没有链接。
我的答案与Eddie提供的非常相似,但他的确切代码对我不起作用(或者至少在使用随Java 1.6附带的javadoc版本时不起作用)
如果我执行:
javadoc -linkoffline http://java.sun.com/javase/6/docs/api/ http://java.sun.com/javase/6/docs/api/package-list -public FileName.java
然后javadoc会报错:
javadoc:警告-获取URL时出错: http://java.sun.com/javase/6/docs/api/package-list/package-list
另一方面,如果我执行:
javadoc -linkoffline http://java.sun.com/javase/6/docs/api/ http://java.sun.com/javase/6/docs/api/ -public FileName.java
那么它就可以工作了,并且我的链接已按我想要的方式填充。
此外,我的链接没有格式错误。文本{@link java.lang.Math#sqrt(double) Math.sqrt}
会将链接文本生成为Math.sqrt
而不是默认的Math.sqrt(double)
。
-linkoffline
选项。-linkoffline
选项的格式类似于这样(人为换行):-linkoffline http://java.sun.com/javase/6/docs/api/
http://java.sun.com/javase/6/docs/api/
这告诉JavaDoc工具在哪里找到JavaDoc的链接以及要使用该链接的包。从第二个URL开始,它将附加“package-list”以加载实际的URL:
http://java.sun.com/javase/6/docs/api/package-list
你可以通过在浏览器中加载它来验证,它确实包含了在该JavaDoc URL上记录的软件包列表。这告诉JavaDoc工具,任何@link
引用到那些软件包中的任何内容都应链接到提供的URL。
我相信对于你想做的事情,你可以这样实现:
@see java.lang.Math#sqrt(double)
它不会给你替代文本,但会给你链接。
您还可以使用标准HTML编写更通用的链接:
<a href="http://www.google.com">Google</a>
这份文档可能会有所帮助,记住对于@link,您需要使用要链接到的文档的URL。