我使用很多可视化的示例测试用例。是否有任何方便的方法可以将它们包含在我的 Java 源代码中并将它们链接到 Javadocs 中,以便我的 IDE 可以在编码时自动显示它们(通过在我的 IDE 中调用 javadoc 渲染器功能?)
我尝试将图像放在 Java 源代码旁边并使用<img>
,但它没有占用(我使用了 png)。
(注意 - 在这种情况下它在我的测试源中)
有点牵强,但您可以通过将它们转换为 Base64 来内联文档中的图像。它看起来像这样:
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIA..." />
有在线工具可用于进行转换:
由于您没有显示任何来源,我只能做一个玻璃球猜测......
对于文档所需的任何文件,应将它们放在以doc-files
您的包目录命名的子目录中。然后这些将由 Javadoc 简单地复制到输出目录。<img>
然后在元素中使用相对路径。
我不确定您的 IDE 的 Javadoc 渲染器是否会这样做,但值得一试。
使用 Eclipse Luna,以下内容对我有用。
现在在 Test.java 的 javadoc 中:
/**
* <img src="./doc-files/image.png" />
*/
并且 Eclipse 在弹出帮助中、鼠标悬停时和 Javadoc 视图中都显示图像。
您甚至可以添加style="width: 100%;"
到img
标签中,以便图像根据视图/弹出窗口大小进行调整。
为了扩展 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 使用。
试试这个方法
/**
* @author KamyninSA
* @version 1
* <p><b>Description</b></p>
* <p><img src="{@docRoot}/../src/test/resources/doc-files/ads.png" alt="alternative directory"></p>
* */
为了扩展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>
...
我偶然发现了这个问题,因为我也想显示我的图标的预览。看完答案,我还不满意,自己试了一下。这就是我现在得到的:
/**
* <img src="../../../../../../resources/com/my/project/client/images/myImage.png"><br>
* Icon for myImage.
*
* @return the icon
*/
像这样,我不需要管理比以前更多的图像,只需转到实际图像所在的文件夹即可。