I have two packages, Shapes
and Fruits
:
com.myproject.Shapes.
Circle
Square
Triangle
com.myproject.Fruits.
Apple
Orange
I am writing the JavaDoc for Apple
and need to provide an {@link}
to Square
.
I have tried all of the following, and none of them work:
{@link Square}
{@link com.myproject.Square}
I've been able to find documentation for linking to: (a) classes within the same package, or (b) externals URLs, but not classes in another package.
Any ideas what the correct syntax should be? Thanks!
Javadoc provides the @link inline tag for referencing the members in the Java classes. We can think of the @link tag as similar to the anchor tag in HTML, which is used to link one page to another via hyperlinks. Similar to the anchor tag, the path_to_member is the destination, and the label is the display text.
@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.
In short, we use the @see tag when we want a link or a text entry that points to a reference. This tag adds a “See Also” heading to the reference. A document comment can hold any number of @see tags, all of which can be grouped under the same heading.
use {@inheritdoc} explicitly states that comments should be inherited. javadoc documentation : "insert the {@inheritdoc} inline tag in a method main description or @return , @param , or @throws tag comment. the corresponding inherited main description or tag comment is copied into that spot."
The correct syntax variants are
{@link [<package>.]<class>[#<method>]}
{@link #<method>}
You were missing a complete package. The following example should be correct
{@link com.myproject.Shapes.Square}
^^^^^^
For another package use this syntax:
{@link package.class#member label}
In your case this should be:
{@link com.myproject.Shapes.Square Square}
If you want to show only the class name then use the label, if complete path is desired then label is not required.
Reference: http://docs.oracle.com/javase/7/docs/technotes/tools/windows/javadoc.html#link
The question is pretty old, but adding another answer for anyone having similar issue.
Using @see
would give you a clickable link to go to a specified class or method, given that the class, if present in another package, is imported.
In case the class / method being referred is in another module, you will have to add a dependency of that module in the current module so that @see can provide you with a clickable link.
/**
* @see com.myproject.Square#method(int)
*/
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With