Vinculando a um URL externo em Javadoc?


Respostas:


1225

Isso cria um cabeçalho "Consulte também" contendo o link, ou seja:

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

renderizará como:

Veja também:
           http://google.com

considerando que isto:

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

criará um link in-line:

Veja http://google.com


59
Se alguém estiver interessado, já que eu apenas tinha que procurar: De acordo com a especificação do Javadoc, a @seetag vem após as tags @param/ @returne antes das @since/ @serial/ @deprecated.
Friederbluemle

7
Por precaução, o Intellij 13 parece não suportar esta tag. Ele suporta links em linha. A tag está de alguma forma descontinuada?
Timo

24
Eu recomendo <a href="http://google.com" target="_top">http://google.com</a>. O motivo da adição de target = "_ top" é porque alguns dos arquivos javadoc html gerados fazem uso de quadros, e você provavelmente deseja que a navegação afete a página inteira, e não apenas o quadro atual.
Antony

3
Se você receber um aviso como "warning - Tag \ @see: final final '>':", verifique se você não possui dois hiperlinks na mesma diretiva \ @see. Em vez disso, use um link por \ @see.
Travis Spencer

7
por que é tão complicado adicionar um link de URL a um javadoc? que achou que o HTML era uma boa idéia ... / facepalm
Alguém em algum lugar

189

Retirado da especificação javadoc

@see <a href="URL#value">label</a>: Adiciona um link conforme definido por URL#value. O URL#valueURL é relativo ou absoluto. A ferramenta Javadoc distingue isso de outros casos, procurando por um símbolo menor que ( <) como o primeiro caractere.

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


Esquisito; Juro que só adicionei as costas; Eu não sei onde o exemplo foram para ...
Stobor

Acho que tivemos algum tipo de problema de edição simultâneo. Eu estava colocando eles também.
Aaron

Justo. Você está perdendo os acentos graves na primeira linha do seu blockquote, embora ....
Stobor

27
@see não é necessário. Os javadocs podem ser formatados com tags html, portanto, é necessária apenas a tag "a".
Gabriel Llamas

5
@GabrielLlamas É verdade, mas a pergunta original implica que é assim que está sendo usada. É útil saber que especificamente faz o trabalho em um campo see-também, que é onde um monte de gente vai querer isso.
Ionoclast Brigham 01/09/2015

33

Os Javadocs não oferecem nenhuma ferramenta especial para links externos; portanto, você deve usar apenas o html padrão:

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

ou

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

Não use {@link ...}ou {@linkplain ...}porque estes são para links para os javadocs de outras classes e métodos.


16

Basta usar um link HTML com um elemento a como

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


Apenas postou novamente a resposta correta, à medida que emergia dos outros comentários. Isso seria mais rápido de ler do que todo o tópico.
Dr. Max Völkel

4

Difícil encontrar uma resposta clara no site da Oracle. O seguinte é 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";

Qual é o significado de agrupar a <a>tag html com o {@link ...}?
Patrick M

2
Provavelmente, isso é um erro, porque a documentação do javadoc não menciona esse formulário, pois não faz diferença de um raw <a>.
Didier L

4
O {@link xxx} aqui não está certo. {@link xxx} serve para vincular a outras classes e métodos no seu código-fonte. É desnecessário aqui. O resto está bem.
MiguelMunoz 02/09/2015

4
Essa construção não é permitida pelos padrões Java 8 (doclint on).
Stepan Vavra

1
Isso está completamente errado. O uso correto de acordo com a referência e a documentação é{@link package.class#member label}
Dinei
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.