Добавление динамических ссылок на JavaDoc в сгенерированный сайтом Maven html

StackOverflow https://stackoverflow.com/questions/1575009

Вопрос

Мне интересно, есть ли способ с помощью плагина maven site заставить его автоматически создавать ссылку на некоторую структуру JavaDoc (например, класс) в html, который он генерирует.

В качестве примера того, что я имею в виду, Doxygen предоставляет способ сделать это с помощью протокола doxy.Вы можете создать якорь, подобный такому:

<a href="doxy://class/ExampleClass">ExampleClass</a>

Затем, когда вы запустите Doxygen, он заменит ссылку doxy:// ссылкой на соответствующий html-файл, содержащий документацию ExampleClass.Таким образом, если местоположение этого класса или его документации когда-либо изменится, мне не нужно будет вспоминать о том, чтобы вернуться и исправить ссылку, поскольку Doxygen автоматически изменит ее при следующей сборке.

Сайт Maven генерирует и предоставляет ссылку на индекс JavaDoc на панели навигации, и в JavaDoc есть ссылки, которые ссылаются на фактический исходный код, но я надеялся превратить любые ссылки, которые я делаю на классы в документации, в ссылки на JavaDoc этого класса, не беспокоясь о том, чтобы обновлять его в будущих выпусках, если что-то изменится.

Возможно ли это?Или я застрял с жестко закодированными ссылками?

Заранее спасибо!

Это было полезно?

Решение

Насколько мне известно, это изначально не поддерживается Доксия, фреймворк генерации контента, используемый Maven, и любой из Модули Doxia.Так что, я думаю, вам придется "жестко закодировать" свои ссылки.

Если вы используете APT, обратите внимание, что Doxia-1.1 (используется Maven >= 2.1.x) включает в себя некоторые улучшения исходного формата APT.Относительно Ссылки:

В Доксии-1.1 понятие 'Местные новости' ссылка была введена в дополнение к внутренний ссылки и внешний Ссылки.[...]

  • A Местные новости ссылка - это ссылка на другой документ на том же сайте.Локальные ссылки должны начните с либо ./ или ../ чтобы отличать их от внутренних ссылок.Например.

    {{{./apidocs/com/company/example/ExampleClass.html}ExampleClass}}
    

С учетом сказанного, решением могло бы быть использование макромеханизмы входит в состав Doxia.Но вам придется написать свой собственный макрос для этой функции.Хотя это не должно быть слишком сложно, проверьте существующий код в исходном репозитории.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top