32

我使用很多可视化的示例测试用例。是否有任何方便的方法可以将它们包含在我的 Java 源代码中并将它们链接到 Javadocs 中,以便我的 IDE 可以在编码时自动显示它们(通过在我的 IDE 中调用 javadoc 渲染器功能?)

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

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

4

7 回答 7

34

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

<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIA..." />

有在线工具可用于进行转换:

于 2012-05-28T21:40:02.010 回答
26

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

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

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

于 2012-05-28T21:04:30.637 回答
16

使用 Eclipse Luna,以下内容对我有用。

  • com
    • 公司
      • 一些包
        • 文档文件
          • 图像.png
        • 测试.java

现在在 Test.java 的 javadoc 中:

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

并且 Eclipse 在弹出帮助中、鼠标悬停时和 Javadoc 视图中都显示图像。

您甚至可以添加style="width: 100%;"img标签中,以便图像根据视图/弹出窗口大小进行调整。

于 2015-07-17T18:17:13.993 回答
3

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

Javadocs 文档指出:

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

如果将图像文件放在该文件夹中,Javadocs HTML 文件将通过生成的 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 将反映相应的编码。

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

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

于 2018-06-04T05:27:39.370 回答
3

试试这个方法

/**
 * @author KamyninSA
 * @version 1
 * <p><b>Description</b></p>
 * <p><img src="{@docRoot}/../src/test/resources/doc-files/ads.png" alt="alternative directory"></p>
 * */
于 2019-04-03T15:25:30.530 回答
2

为了扩展Paŭlo的答案,假设这里的maven构建对我来说对JDK-8(更严格的HTML验证)有用,并规定您愿意运行javadoc工具。

不幸的是,对于 Netbeans,我在 IDE 的 javadoc 弹出窗口中看不到图像,我刚刚打开了这个 netbeans bug

假设这是 com.foo.File.java 的 javadoc 的一部分(注意没有 img 结束标记,这是 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>
        ...
于 2016-02-04T16:34:21.470 回答
2

我偶然发现了这个问题,因为我也想显示我的图标的预览。看完答案,我还不满意,自己试了一下。这就是我现在得到的:

     /**
     * <img src="../../../../../../resources/com/my/project/client/images/myImage.png"><br>
     * Icon for myImage.
     *
     * @return the icon
     */

像这样,我不需要管理比以前更多的图像,只需转到实际图像所在的文件夹即可。

于 2017-07-04T11:53:17.303 回答