Ссылка на внешний 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


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 других классов и методов.



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
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.