Menautkan ke URL eksternal di Javadoc?

768

Sesuatu seperti:

/**
 * See {@linktourl http://google.com}
 */
ripper234
sumber

Jawaban:

1225

Ini menciptakan tajuk "Lihat Juga" yang berisi tautan, yaitu:

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

akan dirender sebagai:

Lihat Juga:
           http://google.com

sedangkan ini:

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

akan membuat tautan sebaris:

Lihat http://google.com

aem999
sumber
59
Jika ada yang tertarik, karena saya hanya harus mencarinya: Menurut Javadoc spesifikasi yang @seetag datang setelah para @param/ @returntag dan sebelum yang @since/ @serial/ @deprecatedtag.
friederbluemle
7
Untuk jaga-jaga, Intellij 13 tampaknya tidak mendukung tag ini. Itu mendukung tautan in-line. Apakah tag itu entah bagaimana sudah usang?
Timo
24
Saya merekomendasikan <a href="http://google.com" target="_top">http://google.com</a>. Alasan untuk menambahkan target = "_ top" adalah karena beberapa file html javadoc yang dihasilkan menggunakan frame, dan Anda mungkin ingin navigasi mempengaruhi seluruh halaman daripada hanya frame saat ini.
Antony
3
Jika Anda mendapatkan peringatan seperti "warning - Tag \ @see: missing final '>':", pastikan Anda tidak memiliki dua hyperlink dalam direktif \ @see yang sama. Sebagai gantinya, gunakan satu tautan per \ @ lihat.
Travis Spencer
7
mengapa begitu rumit untuk menambahkan tautan URL ke javadoc? yang berpikir bahwa HTML adalah ide yang bagus ... / facepalm
Seseorang Di Suatu Tempat
189

Diambil dari spec javadoc

@see <a href="URL#value">label</a>: Menambahkan tautan seperti yang didefinisikan oleh URL#value. Ini URL#valueadalah URL relatif atau absolut. Alat Javadoc membedakan ini dari kasus lain dengan mencari simbol yang kurang dari ( <) sebagai karakter pertama.

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

Harun
sumber
Aneh; Aku bersumpah aku hanya menambahkan di backticks; Saya tidak tahu ke mana contohnya ...
Stobor
Saya pikir kami memiliki beberapa masalah pengeditan bersamaan. Saya menempatkan mereka juga.
Aaron
Cukup adil. Kau hilang backticks di baris pertama dari blockquote Anda, meskipun ....
Stobor
27
@lihat tidak diperlukan. Javascript bisa diformat dengan tag html, jadi hanya perlu tag "a".
Gabriel Llamas
5
@GabrielLlamas Benar, tetapi pertanyaan awal menyiratkan ini adalah bagaimana ini digunakan. Ini berguna untuk mengetahui bahwa secara khusus melakukan pekerjaan dalam bidang lihat-juga, yang mana banyak orang akan menginginkannya.
Ionoclast Brigham
33

Javadocs tidak menawarkan alat khusus untuk tautan eksternal, jadi Anda harus menggunakan html standar:

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

atau

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

Jangan gunakan {@link ...}atau {@linkplain ...}karena ini untuk tautan ke javadocs dari kelas dan metode lain.

Orlando DFree
sumber
16

Cukup gunakan tautan HTML dengan elemen-a seperti

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

Max Völkel
sumber
Cukup kirim ulang jawaban yang benar saat muncul dari komentar lain. Ini akan lebih cepat dibaca daripada keseluruhan utas.
Dr. Max Völkel
4

Sulit menemukan jawaban yang jelas dari situs Oracle. Berikut ini dari 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
sumber
Apa pentingnya membungkus <a>tag html dengan {@link ...}?
Patrick M
2
Ini mungkin kesalahan karena dokumentasi javadoc tidak menyebutkan formulir ini, di dalamnya tidak membuat perbedaan dari mentah <a>.
Didier L
4
{@Link xxx} di sini tidak benar. {@link xxx} untuk menautkan ke kelas dan metode lain dalam kode sumber Anda. Tidak perlu di sini. Sisanya baik-baik saja.
MiguelMunoz
4
Konstruk ini tidak diizinkan oleh standar Java 8 (doclint on).
Stepan Vavra
1
Ini jelas salah. Penggunaan yang benar sesuai referensi dan dokumentasi adalah{@link package.class#member label}
Dinei