Ссылка на внешний URL в Javadoc?

Ответы:

1226

Это создает заголовок «Смотрите также», содержащий ссылку, то есть:

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

будет отображаться как:

Смотрите также:
           http://google.com

тогда как это:

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

создаст встроенную ссылку:

Смотрите http://google.com

aem999
источник
59
Если кому - то интересно, так как я просто должен был посмотреть его: Согласно Javadoc спецификации@see бирки приходит после того, как в @param/ @returnтегах и до того в @since/ @serial/ @deprecatedтегах.
Friederbluemle
7
На всякий случай Intellij 13, похоже, не поддерживает этот тег. Он поддерживает встроенные ссылки. Является ли тег как-то устаревшим?
Тимо
24
Я рекомендую <a href="http://google.com" target="_top">http://google.com</a>. Причиной добавления target = "_ top" является то, что некоторые из сгенерированных файлов javadoc html используют фреймы, и вы, вероятно, хотите, чтобы навигация влияла на всю страницу, а не только на текущий фрейм.
Антоний
3
Если вы получаете предупреждение типа «warning - Tag \ @see: отсутствующий final '>':», убедитесь, что в одной директиве \ @see нет двух гиперссылок. Вместо этого используйте одну ссылку на \ @see.
Трэвис Спенсер
7
почему так сложно добавить URL-ссылку на Javadoc? кто думал, что HTML - хорошая идея ... / facepalm
Кто-то где-то
189

Взято из спецификации Javadoc

@see <a href="URL#value">label</a>: Добавляет ссылку, как определено URL#value. Это URL#valueотносительный или абсолютный URL. Инструмент Javadoc отличает это от других случаев, ища символ меньше чем ( <) в качестве первого символа.

Например : @see <a href="http://www.google.com">Google</a>

Аарон
источник
Weird; Я клянусь, я только добавил в кавычки; Я не знаю, куда пошёл пример ...
Stobor
Я думаю, что у нас была какая-то параллельная проблема редактирования. Я вставлял их тоже.
Аарон
Справедливо. Вы пропускаете галочки в первой строке вашего цитаты, хотя ...
Stobor
27
@see не нужен. Javadocs могут быть отформатированы с помощью HTML-тегов, поэтому необходим только тег «a».
Габриэль Ламас
5
@GabrielLlamas Верно, но оригинальный вопрос подразумевает, как это используется. Полезно знать, что он действительно работает в поле «видят также», где многие люди захотят этого.
Ионокласт Бригам
33

Javadocs не предлагает никаких специальных инструментов для внешних ссылок, поэтому вы должны просто использовать стандартный HTML:

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

или

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

Не используйте {@link ...}или {@linkplain ...}потому что это для ссылок на javadocs других классов и методов.

Орландо DFree
источник
16

Просто используйте HTML-ссылку с таким элементом, как

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

Доктор Макс Фелькель
источник
Просто повторно опубликовал правильный ответ, как он появился из других комментариев. Это будет быстрее читать, чем весь поток.
Доктор Макс Фелькель
4

Трудно найти четкий ответ с сайта Oracle. Следующее от 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";
Цян Ли
источник
Каково значение переноса <a>тега html с {@link ...}?
Патрик М
2
Вероятно, это ошибка, потому что в документации javadoc эта форма не упоминается, в ней нет ничего от сырого <a>.
Дидье Л
4
{@Link xxx} здесь не правильно. {@link xxx} предназначен для ссылки на другие классы и методы в вашем исходном коде. Это не нужно здесь. В остальном это нормально.
MiguelMunoz
4
Эта конструкция не разрешена стандартами Java 8 (документация включена).
Степан Вавра
1
Это совершенно неправильно. Правильное использование в качестве одного ссылок и документации является{@link package.class#member label}
Dinei