Включение изображений в javadocs
Я работаю с большим количеством примеров тестовых примеров, которые являются визуальными. Есть ли удобный способ включить их в источник Java и связать их с Javadocs, поэтому моя IDE может автоматически отображать их во время кодирования (путем вызова функции рендеринга javadoc в моей среде IDE?)
Я попытался помещать изображение рядом с источником Java и используя <img>
, но он не принимал (я использовал png).
(обратите внимание - это в моих тестовых источниках в этом случае)
Ответы
Ответ 1
Поскольку у вас не было никаких источников, я могу только сделать шарик...
Для любых файлов, необходимых для целей документации, их следует поместить в подкаталог с именем doc-files
ваших каталогов пакетов. Затем они будут просто скопированы Javadoc в выходной каталог. Затем используйте относительный путь в элементе <img>
.
Я не уверен, сделает ли ваш рендерер IDE Javadoc тот же, но стоит попробовать.
Ответ 2
Немного удалено, но вы можете встроить изображения в документацию, переведя их в Base64. Это будет выглядеть так:
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIA..." />
Доступны онлайн-инструменты для преобразования:
Ответ 3
С Eclipse Luna для меня работает следующее.
Теперь в Test.java javadoc:
/**
* <img src="./doc-files/image.png" />
*/
И Eclipse показывает изображение как в всплывающей подсказке, когда вы наводите указатель мыши, так и в представлении Javadoc.
Вы даже можете добавить style="width: 100%;"
в тег img
, чтобы изображение соответствовало размеру представления/всплывающего окна.
Ответ 4
Чтобы немного рассказать о решении Paŭlo, предполагая, что maven build здесь работает для меня с JDK-8 (более строгая проверка HTML), с условием, что вы готовы запустить инструмент javadoc.
К сожалению, с Netbeans я не вижу изображение в всплывающем окне IDE javadoc, я просто открыл эту ошибку netbeans.
Предположим, что это часть javadoc для com.foo.File.java(обратите внимание на тег img end, который является правильным способом для w3schools):
<img src="doc-files/foo.png" alt="Foo">
В структуре каталога maven вы найдете здесь изображение: src/main/javadoc/com/foo/doc-files/foo.png
И последнее, в pom.xml(уведомление docfilessubdirs установлено в true):
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.10.3</version>
<configuration>
<docfilessubdirs>true</docfilessubdirs>
</configuration>
</plugin>
...
Ответ 5
Я наткнулся на этот вопрос, так как мне также хотелось показать предварительный просмотр моих значков. Прочитав ответы, я еще не доволен и попробовал это для себя. Вот что я теперь получил:
/**
* <img src="../../../../../../resources/com/my/project/client/images/myImage.png"><br>
* Icon for myImage.
*
* @return the icon
*/
как это, мне не нужно управлять большим количеством изображений, чем раньше, просто перейдя в папку, в которой находятся фактические изображения.
Ответ 6
Чтобы немного рассказать о ответе Всеволода Голованова и Пауло Эбермана выше, приведу конкретный пример и дальнейшую разработку.
Документация Javadocs гласит:
Чтобы включить необработанные файлы, поместите их в каталог, называемый doc-files, который может быть подкаталогом любого каталога пакета, содержащего исходные файлы.
Если вы поместите файлы изображений в эту папку, они будут доступны HTML файлам Javadocs по относительному пути из сгенерированного HTML.
Итак, если ваш проект называется MyProject и класс, к которому вы добавляете комментарий Javadoc, это org.foo.app.MyApp, исходная папка для которого - MyProject/src/org/foo/app/MyApp.java, и вы хотите включить MyImage.jpg в этом Javadoc, то:
Создайте папку MyProject/src/org/foo/app/doc-files и поместите в нее файл изображения.
На этом этапе ваш текст Javadocs может ссылаться на него следующим образом:
<img src="doc-files/MyImage.jpg" width="500" alt="description of MyImage">
И сгенерированный Javadocs HTML будет соответствующим образом кодироваться.
Обратите внимание на атрибут width, позволяющий масштабировать изображение. Высота масштабируется пропорционально.
Когда вы запускаете Javadocs, все папки doc файлов будут скопированы в выходные папки Javadocs, а ресурсы в них будут доступны для использования HTML.
Ответ 7
Попробуй так
/**
* @author KamyninSA
* @version 1
* <p><b>Description</b></p>
* <p><img src="{@docRoot}/../src/test/resources/doc-files/ads.png" alt="alternative directory"></p>
* */