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

Mar*_*ged 9 java javadoc

我检查了javadoc手册 并在stackoverflow上阅读了一些帖子(例如在javadocs中包含图片)但是无法获得满意的结果

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

  • doc-files下面创建一个目录src/main/java(这是STS中的gradle项目)
  • 将名为的文件classhierarchy.png放入新创建的目录中
  • 添加<img src="doc-files/classhierarchy.png">到我的类的javadocde.company.some.more.levels.MyClass
  • 创建javadoc

我可以看到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">
Run Code Online (Sandbox Code Playgroud)

我不喜欢的第二件事是目录doc文件与我的源代码在同一路径中.

如何优雅地链接和提供图像?

Mar*_*ged 10

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

<img src="../../../../../../doc-files/classhierarchy.png">
Run Code Online (Sandbox Code Playgroud)

我们可以用:

<img src="{@docRoot}/doc-files/classhierarchy.png">
Run Code Online (Sandbox Code Playgroud)

这将指示javadoc插入".."本身,所以我不必自己计算;-)而且当包结构改变时我不必调整"..".该参数@docroot可以在代码和命令行中使用,有关详细信息,请参阅文档

在我的测试中,这与生成的html一起使用并在Eclipse中生效.


Pet*_*der 3

通常,图像胜于雄辩。但是类层次结构可以更改,而不会影响图像本身。也许您使用其他文档技术,例如maven 的 site

在你的情况下,它是黑白图像,对吧?也许你最好使用ascii-art

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

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