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.