Javadoc link 到 src/main/resource 或 src/test/resource 文件使用相对路径

Javadoc link to src/main/resource or src/test/resource file using relative path

如果有一种方法可以将 javadoc 中的 link 放入驻留在 src/main/resources 或 src/test/resources 中的标准资源文件中,我会发现它非常有用,这样另一个编码器就可以在 IntelliJ 中快速导航到资源文件(在本例中为 JSON 文件)。

这些文件用于单元测试,需要随着架构的变化而经常修改。

这里的答案 Link to text file (resource) in Javadoc 没有帮助,因为绝对路径太脆弱了。

有没有办法用资源做与@see 相同的事情? 如果 javadoc 本身不足,IntelliJ 特有的东西会很棒。

绝对路径就不用说了。请参阅下面的包和 class 结构。如果我遵循 URI 规则,我会从姐妹包中执行 .. 返回一个文件夹并像这样提及它。有用!单击 url 文件打开。虽然我已经在 eclipse 中对此进行了说明,但我认为这应该是 IDE 不可知论者。

/**
 * Removes all the stop words like a, for, the etc. from the text. For a
 * full list of stop words check
 * <a href="file:../resources/stopWords.txt">/resources/stopWords.txt</a>
 * 
 * @return String free of all the stop-words
 * @param text
 *            The string to be cleaned, do null check at your end
 */

不完全是答案,而是 IDE 的一个特征:

如果您使用 Intellij IDEA,则可以开箱即用。加载文件的位置必须指定路径,对吗?因此,您按住 Ctrl 键并单击一个路径,Intellij 就会将您带到该文件。

该路径是相对于类路径的,因此您具有可移植性。

它要求所有团队成员都使用 Intellij,是的,不是全局解决方案,不是 "literal" 解决方案。

检查这个:

我找到了解决办法。参见 2 Source Files (Javadoc Guide)

在任何包目录下创建一个名为doc-files的目录

src/
  main/
    java/
      com/
        doc-files/
        MySource.java   // package com;
        mycompany/
          doc-files/
            some.txt
          Company.java  // package com.mycompany

将资源文件放在那里。

现在link他们link这个

/**
 * <a href="doc-files/some.txt">some</a>
 */
class Company {
}

构建 javadoc 时,link 有效。

请注意,将那些 doc-files 目录放在 src/main/resource 下是行不通的。

这会在 IntelliJ IDEA 中创建一个可点击的 link,但只能点击一个目录 :-/.

src/test/resources/some/path/

/**
 * {@link some.path}
 */

如果您添加 filename.ext 则不起作用,如果目录是非法的包名称(例如:以数字开头)也不起作用。

到目前为止,这是我找到的最好的。不太好,但在我发现的测试中,仍然可以方便地提示静态文件的使用(如外部 API 响应)并为其位置提供 link。