2015-02-26 1 views
8

Я проверил manual of javadoc и прочитать некоторые сообщения здесь на StackOverflow (например Including images in javadocs), но не смог получить удовлетворительный результатКак включить изображения в Javadoc и ссылаться на них

Я хочу, чтобы обеспечить изображение внутри моей Javadoc что должен быть упакован с созданным html. Вот шаги, которые я принимаю:

  • создать doc-files каталог ниже src/main/java (это Gradle проект СТС)
  • место файл с именем classhierarchy.png в свеже созданный каталог
  • добавить <img src="doc-files/classhierarchy.png"> к Javadoc из мой класс de.company.some.more.levels.MyClass
  • создать Javadoc

Я могу видеть, что файл PNG, копируется в C: \ Temp \ NameOfProjec t \ doc \ doc-файлы, но он не может быть отображен, потому что img-ссылка относится к пакету: c:/temp/NameOfProject/doc/de/company/some/more/levels/doc-files/classhierarchy .png

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

<img src="../../../../../../doc-files/classhierarchy.png"> 

Вторая вещь, которую я не нравится тот факт, что doc-файлы каталога находятся в том же пути, что и мой исходный код.

Как я могу связать и предоставить изображения изящно?

ответ

3

Часто изображения говорят больше, чем слова. Но classhierarchy может без изменения повлиять на изображение. Возможно, вы используете другую документацию, такую ​​как сайт maven.

В вашем случае это изображение bw-right? Может быть, вам лучше использовать ascii-art.

Маленьких изображения могут быть также использованы рядным так:

/** 
* Foobar.<br /> 
* <img src= 
* "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAIAAACRXR/mAAAAAXNSR0IArs4c6QAAAA 
* RnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADTSURBVFhH7c9BCsNADEPR3P9aPVjr5KukOBAEnkI 
* WejtDR/ndnuu9Qu28FqEqWR6qkuWhKlkeqpLloSpZHqqS5aEqWR6qkuWhKlkeqv6S1c5717c7Dc/Ujla/uzoM7feci 
* 7PYLJwOPWgLGp6pnd8PFL7h0IPDeWp4RlsLaXimdq7/26QHh/PU8EzttG9wOvSgLWh4pnYYLczqMLTfc67PKu28d32 
* 70/BM7Wh1jKpkeahKloeqZHmoSpaHqmR5qEqWh6pkeahKloeqZHmoemrW42zbB+06mptY9nu7AAAAAElFTkSuQmCC" /> 
*/ 
+1

base64 кодирование изображения не является идеальным, потому что каждый раз, когда изображение меняется, я должен обновить javadoc. И в зависимости от размера изображения java-файлы будут значительно расти. Помимо классов иерархии я планирую добавить больше изображений, которые могут помочь программисту понять, к чему могут быть использованы классы. Поэтому создание иерархии классов из источника не является вариантом.Также нет ascii art ;-) – Marged

9

я могу по крайней мере обеспечить решение для обильного «..» с. Вместо того чтобы писать:

<img src="../../../../../../doc-files/classhierarchy.png"> 

мы можем использовать:

<img src="{@docRoot}/doc-files/classhierarchy.png"> 

Это будет инструктировать Javadoc, чтобы вставить «..» сама по себе, так что я не должен рассчитывать сам ;-) и я не нужно адаптировать «..», когда структура пакета изменяется. Параметр @docroot может быть использован в коде и в командной строке, подробнее см the docs

В моих тестах это работало со сгенерированным HTML и жить внутри Eclipse.

+0

Эй, это не должно использоваться в нормальном коде, потому что изображение не меняется в соответствии с целями реальной иерархии классов, но я буду использовать его в сгенерированном виде, спасибо за подсказку! –

Смежные вопросы