【问题标题】:How to link a Gradle project to the Javadoc of its dependencies?如何将 Gradle 项目链接到其依赖项的 Javadoc?
【发布时间】:2016-12-09 18:11:14
【问题描述】:

我有一个由 Android 应用程序模块组成的 Gradle 项目。我不知道如何让 Android 应用程序模块链接到其依赖项的 Javadoc。

我在项目的根级 build.gradle 文件以及 Android 应用程序模块的 build.gradle 文件中指定了以下内容:

apply plugin: 'idea'

idea {
    module {
        downloadJavadoc = true
        downloadSources = true
    }
}

通过检查我机器上的~/.gradle/caches/modules-2/files-2.1 文件夹,我可以看到依赖项的Javadoc 确实已下载。

但是,在我的项目中检查 .idea/libraries 文件夹中的 xml 文件时,我发现 JAVADOC 标记始终为空。 CLASSESSOURCES 标记是非空的,当然它们分别正确链接到类和源。我怎样才能让 IntelliJ 也链接到 Javadoc(这样当我在依赖项的某个类或方法上按 F1 时,我会看到 Javadoc)?

后记 1: 我尝试点击“刷新所有 Gradle 项目”按钮以及点击“使缓存无效/重新启动...”。这没什么区别。

后记 2: 我在 IntelliJ IDEA Ultimate 2016.3 和 Android Studio 2.2.3 上都试过这个。两者都有同样的问题。

后记 3: 我知道我可以在 Javadoc 中查看我的应用程序的依赖项,这些依赖项已经发布了 Sources。问题是我的应用程序的一些依赖项已经发布了 Javadoc,但没有发布 Sources。

【问题讨论】:

    标签: android-studio intellij-idea intellij-16


    【解决方案1】:

    您可以在Project Structure | Libraries | Specify Documentation URL 中手动指定JavaDoc 位置。这将在.idea/libraries 目录中填充JAVADOC 元素。您可以将其指向一个 url 或下载一个 Javadoc jar。

    为了让下载的 jar 能够正常工作,我需要解压缩 jar 并将 IntelliJ url 指向包含解压缩的 javadocs 的目录。生成的 url 看起来像 file:///tmp/junit,解压后的 javadocs 位于 junit 目录中。

    这里有一个很好的答案Attaching additional javadoc in Intellij IDEA

    【讨论】:

    • 感谢您的回答。我正在尝试,但遇到了一些问题。是否可以指定本地 url,因为我尝试输入 jar 所在的远程 url,但 IntelliJ 无法在其中找到文档。可能是因为它是一个需要用户名和密码的 Artifactory url?我尝试使用jar:// 协议(以!/ 结尾)输入指向javadoc jar 文件的本地路径,并尝试使用file:// 协议输入jar 的本地路径。没运气。在这两种情况下,IntelliJ 甚至都不会像您的屏幕截图那样添加 Javadoc url。请指教。
    • 要使用 Junit javadoc jar,我需要下载该 jar,然后解压缩到一个空目录中。我的路径最终看起来像 file:///tmp/junit
    • 太棒了。那行得通。非常感谢。如果 IntelliJ 可以像使用 Sources 一样自动链接到依赖项的 Javadoc,那就太好了。但我会为此提出一个单独的问题/请求。现在可以完成这项工作。再次感谢。
    • 创建了一个 IntelliJ 功能请求here。任何阅读此内容的人...如果您希望将该功能添加到 IntelliJ,请投票。
    猜你喜欢
    • 2015-02-08
    • 2017-11-26
    • 1970-01-01
    • 1970-01-01
    • 2016-06-03
    • 1970-01-01
    • 1970-01-01
    • 2015-07-27
    • 2016-02-10
    相关资源
    最近更新 更多