问题
How do I write links into javadocs?
Currently, I have something like:
{@link java.lang.Math#sqrt(double) Math.sqrt}
to produce the text Math.sqrt
that should link to the java.lang.Math.sqrt(double)
API, however, all it does is produce the text, no link.
回答1:
To get a link to something external to your code, you need use the -linkoffline
option
where the -linkoffline
option has the format something like this (artificially wrapped):
-linkoffline http://java.sun.com/javase/6/docs/api/
http://java.sun.com/javase/6/docs/api/
This tells the JavaDoc tool where to find the link to the JavaDoc and for what packages to use that link. From the 2nd URL, it will append "package-list" to load the actual URL:
http://java.sun.com/javase/6/docs/api/package-list
which you can verify by loading it in a browser does contain the list of packages documented at that JavaDoc URL. This tells the JavaDoc tool that any @link
references to anything in one of those packages should link to the provided URL.
回答2:
My answer is very much provided by Eddie, but his exact code doesn't work for me (or at least when using the version of javadoc that comes with Java 1.6)
If I do:
javadoc -linkoffline http://java.sun.com/javase/6/docs/api/ http://java.sun.com/javase/6/docs/api/package-list -public FileName.java
then javadoc complains:
javadoc: warning - Error fetching URL: http://java.sun.com/javase/6/docs/api/package-list/package-list
If, on the other hand, I do:
javadoc -linkoffline http://java.sun.com/javase/6/docs/api/ http://java.sun.com/javase/6/docs/api/ -public FileName.java
Then it works, and my links are populated as I want them to be.
Additionally, my link isn't malformed. The text {@link java.lang.Math#sqrt(double) Math.sqrt}
produces the link text Math.sqrt
instead of the default Math.sqrt(double)
.
回答3:
This document might be of assistance, remember that for @link you need to use the URL for the doc you are linking to.
来源:https://stackoverflow.com/questions/699771/how-to-write-javadoc-links