Verknüpfen mit einer externen URL in Javadoc?


Antworten:


1224

Dadurch wird eine Überschrift "Siehe auch" erstellt, die den Link enthält, dh:

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

wird gerendert als:

Siehe auch:
           http://google.com

in der Erwägung, dass dies:

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

erstellt einen Inline-Link:

Siehe http://google.com


59
Wenn jemand interessiert ist, da ich es nur nachschlagen musste: Gemäß der Javadoc-Spezifikation kommt das @seeTag nach den @param/ @return-Tags und vor den @since/ @serial/ @deprecated-Tags.
Friederbluemle

7
Nur für den Fall, dass Intellij 13 dieses Tag nicht unterstützt. Es unterstützt Inline-Links. Ist das Tag irgendwie veraltet?
Timo

24
Ich empfehle <a href="http://google.com" target="_top">http://google.com</a>. Der Grund für das Hinzufügen von target = "_ top" liegt darin, dass einige der generierten Javadoc-HTML-Dateien Frames verwenden und Sie wahrscheinlich möchten, dass die Navigation die gesamte Seite und nicht nur den aktuellen Frame betrifft.
Antony

3
Wenn Sie eine Warnung wie "Warnung - Tag \ @see: fehlendes final '>':" erhalten, stellen Sie sicher, dass Sie nicht zwei Hyperlinks in derselben \ @see-Direktive haben. Verwenden Sie stattdessen einen Link pro \ @see.
Travis Spencer

7
Warum ist es so kompliziert, einem Javadoc einen URL-Link hinzuzufügen? wer dachte, dass HTML eine gute Idee war ... / facepalm
Jemand irgendwo

189

Entnommen aus der Javadoc-Spezifikation

@see <a href="URL#value">label</a>: Fügt einen Link hinzu, wie durch definiert URL#value. Das URL#valueist eine relative oder absolute URL. Das Javadoc-Tool unterscheidet dies von anderen Fällen, indem es <als erstes Zeichen nach einem Symbol ( ) sucht, das kleiner als ist .

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


Seltsam; Ich schwöre, ich habe nur die Backticks hinzugefügt; Ich weiß nicht, wohin das Beispiel ging ...
Stobor

Ich denke, wir hatten ein Problem mit der gleichzeitigen Bearbeitung. Ich habe sie auch reingelegt.
Aaron

Meinetwegen. Sie vermissen jedoch die Backticks in der ersten Zeile Ihres Blockzitats ...
Stobor

27
@see wird nicht benötigt. Die Javadocs können mit HTML-Tags formatiert werden, daher ist nur das "a" -Tag erforderlich.
Gabriel Llamas

5
@ GabrielLlamas Stimmt, aber die ursprüngliche Frage impliziert, wie es verwendet wird. Es ist gut zu wissen , dass es speziell tut Arbeit in einem see-auch - Feld, das ist , wo eine Menge Leute es will.
Ionoclast Brigham

33

Javadocs bieten keine speziellen Tools für externe Links an, daher sollten Sie nur Standard-HTML verwenden:

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

oder

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

Nicht verwenden {@link ...}oder {@linkplain ...}weil diese für Links zu den Javadocs anderer Klassen und Methoden sind.


16

Verwenden Sie einfach einen HTML-Link mit einem a-Element wie

<a href="URL#value">label</a>


Veröffentlichen Sie einfach die richtige Antwort erneut, wie aus den anderen Kommentaren hervorgeht. Dies wäre schneller zu lesen als der gesamte Thread.
Dr. Max Völkel

4

Es ist schwer, eine klare Antwort von der Oracle-Site zu finden. Folgendes ist von 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";

Welche Bedeutung hat es, das <a>HTML-Tag mit dem zu versehen {@link ...}?
Patrick M

2
Dies ist wahrscheinlich ein Fehler, da in der Javadoc-Dokumentation dieses Formular nicht erwähnt wird, da es keinen Unterschied zu einem Raw macht <a>.
Didier L

4
Der {@link xxx} hier ist nicht richtig. {@link xxx} dient zum Verknüpfen mit anderen Klassen und Methoden in Ihrem Quellcode. Es ist hier unnötig. Der Rest ist in Ordnung.
MiguelMunoz

4
Dieses Konstrukt ist nach Java 8-Standards nicht zulässig (doclint on).
Stepan Vavra

1
Das ist einfach falsch. Die korrekte Verwendung gemäß Referenz und Dokumentation ist{@link package.class#member label}
Dinei
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.