在javadocs中包含图像

时间:2012-05-28 03:53:35

标签: java image javadoc

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

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

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

7 个答案:

答案 0 :(得分:30)

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

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

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

答案 1 :(得分:20)

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

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

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

答案 2 :(得分:9)

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

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

现在在Test.java的javadoc:

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

Eclipse在弹出帮助,鼠标悬停和Javadoc视图中显示图像。

您甚至可以将style="width: 100%;"添加到img标记,以便图片调整为视图/弹出窗口大小。

答案 3 :(得分:3)

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

不幸的是,对于Netbeans,我无法在IDE的javadoc弹出窗口中看到图像,我只是打开了this 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>
        ...

答案 4 :(得分:1)

我偶然发现了这个问题,因为我想要展示我的图标预览。看完答案后,我还不满意,并为自己试了一下。这就是我现在所拥有的:

     /**
     * <img src="../../../../../../resources/com/my/project/client/images/myImage.png"><br>
     * Icon for myImage.
     *
     * @return the icon
     */
像这样,我只需要去实际图像所在的文件夹,就不需要管理比以前更多的图像了。

答案 5 :(得分:1)

尝试这种方式

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

答案 6 :(得分:0)

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

Javadocs文档说明:

  

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

如果将图像文件放在该文件夹中,它们将通过生成的HTML的相对路径提供给Javadocs HTML文件。

因此,如果您的项目名为 MyProject ,并且您要添加Javadoc评论的类是 org.foo.app.MyApp ,则源文件夹为< b> 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">

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

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

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