¿Enlace a una URL externa en Javadoc?

Respuestas:

1226

Esto crea un encabezado "Ver también" que contiene el enlace, es decir:

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

se renderizará como:

Ver también:
           http://google.com

mientras que esto:

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

creará un enlace en línea:

Ver http://google.com

aem999
fuente
59
Si alguien está interesado, ya que sólo tenía que mirar hacia arriba: De acuerdo con el Javadoc de especificaciones de la @seeetiqueta viene después de los @param/ @returnlas etiquetas y antes de los @since/ @serial/ @deprecatedetiquetas.
friederbluemle
77
Por si acaso, Intellij 13 no parece admitir esta etiqueta. Es compatible con enlaces en línea. ¿La etiqueta está en desuso de alguna manera?
Timo
24
Recomiendo <a href="http://google.com" target="_top">http://google.com</a>. La razón para agregar target = "_ top" es porque algunos de los archivos html javadoc generados utilizan marcos, y probablemente desee que la navegación afecte a toda la página en lugar de solo el marco actual.
Antony
3
Si recibe una advertencia como "advertencia - Etiqueta \ @see: falta final '>':", asegúrese de no tener dos hipervínculos en la misma directiva \ @see. En su lugar, use un enlace por \ @see.
Travis Spencer
77
¿Por qué es tan complicado agregar un enlace URL a un javadoc? quien pensó que HTML era una buena idea ... / facepalm
Someone Somewhere
189

Tomado de la especificación javadoc

@see <a href="URL#value">label</a>: Agrega un enlace según lo definido por URL#value. El URL#valuees una URL relativa o absoluta. La herramienta Javadoc distingue esto de otros casos al buscar un símbolo menor que ( <) como primer carácter.

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

Aaron
fuente
Extraño; Juro que solo agregué en los backticks; No sé a dónde fue el ejemplo ...
Stobor
Creo que tuvimos algún tipo de problema de edición concurrente. Los estaba poniendo también.
Aaron
Lo suficientemente justo. Que se está perdiendo los acentos abiertos en la primera línea de su blockquote, aunque ....
Stobor
27
@see no es necesario. Los javadocs pueden formatearse con etiquetas html, por lo que solo es necesaria la etiqueta "a".
Gabriel Llamas
55
@GabrielLlamas Cierto, pero la pregunta original implica que así es como se está utilizando. Es útil saber que específicamente hace el trabajo en un campo de véase además, que es donde mucha gente lo querrá.
Ionoclast Brigham
33

Javadocs no ofrece ninguna herramienta especial para enlaces externos, por lo que debe usar html estándar:

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.

No use {@link ...}o {@linkplain ...}porque estos son para enlaces a los javadocs de otras clases y métodos.

Orlando DFree
fuente
16

Simplemente use un enlace HTML con un elemento a como

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

Dr. Max Völkel
fuente
Simplemente volví a publicar la respuesta correcta tal como surgió de los otros comentarios. Esto sería más rápido de leer que todo el hilo.
Dr. Max Völkel
4

Difícil de encontrar una respuesta clara del sitio de Oracle. Lo siguiente es de 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";
Qiang Li
fuente
¿Cuál es el significado de envolver la <a>etiqueta html con el {@link ...}?
Patrick M
2
Esto es probablemente un error porque la documentación de javadoc no menciona este formulario, ya que no hace la diferencia de un raw <a>.
Didier L
44
El {@link xxx} aquí no es correcto. {@link xxx} es para vincular a otras clases y métodos en su código fuente. No es necesario aquí. El resto está bien.
MiguelMunoz
44
Esta construcción no está permitida por los estándares Java 8 (doclint on).
Stepan Vavra
1
Esto es simplemente incorrecto. El uso correcto según la referencia y la documentación es{@link package.class#member label}
Dinei