如何将图像包含到 javadoc 中并引用它们

How to include images into javadoc and reference them

我检查了 manual of javadoc and read some posts here on Whosebug (for example Including images in javadocs) 但无法得到满意的结果

我想在我的 javadoc 中提供一个图像,它应该与创建的 html 打包在一起。以下是我采取的步骤:

我可以看到 png 文件被复制到 C:\temp\NameOfProject\doc\doc-files 但无法显示,因为 img-link 是相对于包的: c:/temp/NameOfProject/doc/de/company/some/more/levels/doc-files/classhierarchy.png

我知道我可以通过在路径前加上许多 /../../ 来解决这个问题,但如果包深度发生变化,我将不得不调整它:

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

我不喜欢的第二件事是目录 doc-files 与我的源代码位于同一路径。

怎样才能link优雅地提供图片?

通常图像胜于雄辩。但是 classhierarchy 可以更改而不影响图像本身。也许您使用其他文档技术,例如 maven 的站点

你的情况是黑白图像吗?也许你最好使用 ascii-art.

小图片也可以像这样内联使用:

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

我至少可以为丰富的“..”提供解决方案。 而不是写:

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

我们可以使用:

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

这将指示 javadoc 插入“..”本身,这样我就不必指望自己 ;-) 并且我不必在包结构发生变化时调整“..”。 参数@docroot可以在代码和命令行中使用,详见the docs

在我的测试中,它与生成的 html 一起工作,并且存在于 Eclipse 中。