907

Something like:

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

4 Answers 4

1425

This creates a "See Also" heading containing the link, i.e.:

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

will render as:

See Also:
           http://google.com

whereas this:

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

will create an in-line link:

See http://google.com

9
  • 72
    If anyone is interested, since I just had to look it up: According to the Javadoc spec the @see tag comes after the @param/@return tags and before the @since/@serial/@deprecated tags. Oct 11, 2013 at 5:18
  • 7
    Just in case, Intellij 13 does not seem to support this tag. It does support in-line links. Is the tag somehow deprecated?
    – Timo
    Jul 8, 2014 at 15:08
  • 36
    I recommend <a href="http://google.com" target="_top">http://google.com</a>. The reason for adding target="_top" is because some of the generated javadoc html files make use of frames, and you probably want the navigation to affect the whole page rather than just the current frame.
    – Antony
    Nov 30, 2016 at 21:31
  • 17
    why is it so complicated to add a URL link to a javadoc ? who thought that HTML was a good idea... /facepalm Jan 8, 2018 at 15:26
  • 4
    If someone else is as lame as me and searching for the difference between the in-line version and the other for hours: Mind the '@' before 'See' ;) Mar 9, 2018 at 10:27
203

Taken from the javadoc spec

@see <a href="URL#value">label</a> : Adds a link as defined by URL#value. The URL#value is a relative or absolute URL. The Javadoc tool distinguishes this from other cases by looking for a less-than symbol (<) as the first character.

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

5
  • Weird; I swear I only added in the backticks; I don't know where the example went to...
    – Stobor
    Jul 4, 2009 at 11:57
  • I think we had some kind of concurrent edit problem. I was putting them in also.
    – Aaron
    Jul 4, 2009 at 12:00
  • Fair enough. You're missing the backticks in the first line of your blockquote, though....
    – Stobor
    Jul 4, 2009 at 12:06
  • 27
    @see is not needed. The javadocs can be formatted with html tags, so it's only necessary the "a" tag. Apr 23, 2011 at 15:31
  • 6
    @GabrielLlamas True, but the original question implies this is how it's being used. It's useful to know that it specifically does work in a see-also field, which is where a lot of people will want it. Sep 1, 2015 at 17:17
47

Javadocs don't offer any special tools for external links, so you should just use standard html:

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

or

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

Don't use {@link ...} or {@linkplain ...} because these are for links to the javadocs of other classes and methods.

2

Hard to find a clear answer from the Oracle site. The following is from 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";
7
  • 2
    What is the significance of wrapping the <a> html tag with the {@link ...}?
    – Patrick M
    Apr 14, 2015 at 18:58
  • 4
    This is probably a mistake because the javadoc documentation does not mention this form, in it does not make a difference from a raw <a>.
    – Didier L
    May 29, 2015 at 9:02
  • 9
    The {@link xxx} here isn't right. {@link xxx} is for linking to other classes and methods in your source code. It's unnecessary here. The rest of it is fine. Sep 2, 2015 at 0:16
  • 6
    This construct is not allowed by Java 8 standards (doclint on). Oct 9, 2015 at 14:12
  • 3
    This is plain wrong. The correct usage as per reference and documentation is {@link package.class#member label}
    – Dinei
    Jun 23, 2017 at 15:44

Not the answer you're looking for? Browse other questions tagged or ask your own question.