Collegamento a un URL esterno in Javadoc?


Risposte:


1226

Questo crea un'intestazione "Vedi anche" contenente il collegamento, ovvero:

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

verrà visualizzato come:

Vedi anche:
           http://google.com

mentre questo:

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

creerà un collegamento in linea:

Vedi http://google.com


59
Se qualcuno è interessato, dato che ho dovuto solo cercarlo: secondo le specifiche Javadoc il @seetag arriva dopo i tag @param/ @returne prima dei tag @since/ @serial/ @deprecated.
friederbluemle,

7
Nel caso, Intellij 13 non sembra supportare questo tag. Supporta collegamenti in linea. Il tag è in qualche modo deprecato?
Timo,

24
Consiglio vivamente <a href="http://google.com" target="_top">http://google.com</a>. Il motivo per l'aggiunta di target = "_ top" è perché alcuni dei file html javadoc generati fanno uso di frame e probabilmente si desidera che la navigazione influenzi l'intera pagina anziché solo il frame corrente.
Antony,

3
Se ricevi un avviso come "avviso - Tag \ @see: manca '>':" finale, assicurati di non avere due collegamenti ipertestuali nella stessa direttiva \ @see. Invece, usa un link per \ @see.
Travis Spencer,

7
perché è così complicato aggiungere un collegamento URL a un javadoc? chi pensava che HTML fosse una buona idea ... / facepalm
Someone Somewhere

189

Tratto dalle specifiche javadoc

@see <a href="URL#value">label</a>: Aggiunge un collegamento come definito da URL#value. Il URL#valueè un URL relativo o assoluto. Lo strumento Javadoc distingue questo dagli altri casi cercando un simbolo minore di ( <) come primo carattere.

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


Strano; Giuro che l'ho aggiunto solo nei backtick; Non so dove sia andato l'esempio ...
Stobor,

Penso che abbiamo avuto una sorta di problema con l'editing simultaneo. Li stavo inserendo anche io.
Aaron,

Giusto. Ti mancano i backtick nella prima riga del tuo blockquote, però ...
Stobor,

27
@see non è necessario. I javadocs possono essere formattati con tag html, quindi è necessario solo il tag "a".
Gabriel Llamas,

5
@GabrielLlamas Vero, ma la domanda originale implica che è come viene utilizzato. E 'utile sapere che specificamente fa lavoro in un campo di vedere-anche, che è dove un sacco di gente lo vorrà.
Ionoclast Brigham,

33

Javadocs non offre strumenti speciali per collegamenti esterni, quindi dovresti semplicemente usare HTML standard:

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

o

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

Non utilizzare {@link ...}o {@linkplain ...}perché questi sono per collegamenti ai javadocs di altre classi e metodi.


16

Basta usare un collegamento HTML con un elemento-like

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


Ho appena postato la risposta corretta così come è emersa dagli altri commenti. Questo sarebbe più veloce da leggere dell'intero thread.
Dr. Max Völkel,

4

Difficile trovare una risposta chiara dal sito Oracle. Quanto segue proviene da 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";

Qual è il significato del wrapping del <a>tag html con il {@link ...}?
Patrick M,

2
Questo è probabilmente un errore perché la documentazione di javadoc non menziona questo modulo, in quanto non fa differenza da un raw <a>.
Didier L

4
Il {@link xxx} qui non è corretto. {@link xxx} è per il collegamento ad altre classi e metodi nel codice sorgente. Non è necessario qui. Il resto va bene.
MiguelMunoz,

4
Questo costrutto non è consentito dagli standard Java 8 (doclint on).
Stepan Vavra,

1
Questo è chiaramente sbagliato. L'uso corretto come da riferimento e documentazione è{@link package.class#member label}
Dinei il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.