在javadocs中包含图像

ian*_*man 27 java javadoc image

我使用了大量可视化的示例测试用例.有没有方便的方法将它们包含在我的Java源代码中并将它们链接到Javadocs中,因此我的IDE可以在编码时自动显示它们(通过在我的IDE中调用javadoc渲染器功能?)

我尝试将图像放在Java源代码旁边并使用<img>,但它没有采用(我使用了png).

(注意 - 在这种情况下,它在我的测试源中)

Emm*_*urg 31

有点牵强,但您可以通过将它们转换为Base64来内联文档中的图像.它看起来像这样:

<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIA..." />
Run Code Online (Sandbox Code Playgroud)

有可用于转换的在线工具:

  • inteliJ没有看到那个图像 (4认同)

Paŭ*_*ann 20

由于你没有显示任何来源,我只能做一个玻璃球猜...

对于文档所需的任何文件,应将它们放在名为doc-filespackage目录的子目录中.然后,这些将由Javadoc简单地复制到输出目录.然后在<img>元素中使用相对路径.

我不确定你的IDE的Javadoc渲染器是否也会这样做,但值得一试.

  • @BradTurek 这似乎是一个糟糕的计划。当某些随机网站移动或关闭时,文档不应消失。 (3认同)
  • 对于最近的 IntelliJ (2020),这是开箱即用的(参见 https://blog.jetbrains.com/idea/2020/03/intellij-idea-2020-1-eap8/) - 您可以将它们放置在任何路径,渲染的并不关心,您只需要使用适当的相对路径来引用它们(即 src='doc-files/img.png')。注意:如果您使用 Scala,ScalaDoc 存在一个问题,该问题最近已修复(可能需要几个月的时间修复才能进入稳定的插件版本)。 (3认同)
  • 将图像上传到像 [imgur](https://imgur.com/) 这样的网站是一种享受:`&lt;img src="https://i.imgur.com/GPzGu1N.png" /&gt;` [实际操作中在 IntelliJ 中](https://i.imgur.com/WPtqCjV.png) (2认同)

Vse*_*nov 9

使用Eclipse Luna,以下内容适用于我.

  • COM
    • 公司
      • somepackage
        • DOC-文件
          • image.png
        • Test.java

现在在Test.java的javadoc中:

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

Eclipse会在弹出帮助中,当您悬停鼠标时以及Javadoc视图中显示图像.

您甚至可以添加style="width: 100%;"img标签,因此图像会调整为视图/弹出窗口大小.


Rog*_*man 7

为了进一步扩展 Vsevolod Golovanov 和 Paulo Ebermann 的上述答案,这里有一个具体的例子和进一步的阐述。

Javadocs 文档指出:

要包含未处理的文件,请将它们放在名为 doc-files 的目录中,该目录可以是包含源文件的任何包目录的子目录。

如果将图像文件放在该文件夹中,Javadocs HTML 文件将可以通过生成的 HTML 的相对路径使用它们。

因此,如果您的项目名为MyProject并且您要添加 Javadoc 注释的类是org.foo.app.MyApp,则其源文件夹是MyProject/src/org/foo/app/MyApp.java并且您想要包含Javadoc 中的MyImage.jpg ,然后:

创建文件夹MyProject/src/org/foo/app/doc-files,并将图像文件放入其中。

此时您的 Javadocs 文本可以这样引用它:

<img src="doc-files/MyImage.jpg" width="500" alt="description of MyImage">
Run Code Online (Sandbox Code Playgroud)

Javadocs 生成的 HTML 将反映相应的编码。

请注意“宽度”属性,允许缩放图像。高度按比例缩放。

当您运行 Javadocs 时,doc-files文件夹将全部复制到 Javadocs 输出文件夹,并且其中的资源可供 HTML 使用。


小智 6

试试这个方法

/**
 * @author KamyninSA
 * @version 1
 * <p><b>Description</b></p>
 * <p><img src="{@docRoot}/../src/test/resources/doc-files/ads.png" alt="alternative directory"></p>
 * */
Run Code Online (Sandbox Code Playgroud)