【问题标题】:How do I get Eclipse to show the javadoc from my classes without including sources in the jar如何让 Eclipse 从我的类中显示 javadoc,而不在 jar 中包含源
【发布时间】:2010-10-28 19:17:49
【问题描述】:

我正在构建 jar,我想在没有源的情况下打包它们,但我希望 javadoc 在 eclipse 中为开发人员提供。

【问题讨论】:

    标签: java eclipse javadoc


    【解决方案1】:

    Javadocs 是源代码的一部分,因为任何编译的类都不会包含任何注释 - Javadocs cmets。

    换句话说,你不能。

    【讨论】:

    • 但是 javadoc 会生成 HTML,我可以手动将 eclipse 指向为文件夹或 jar。我只是希望能够将它包含在我的分布式 jar 中,以便 eclipse 找到它。
    • 没错,但您不能将它放入您的JAR。无论如何,按照您描述的方式工作的所有解决方案都提供了一个外部源 zip 文件,其中包含 both 源和 javadoc。如果你愿意,你可以剥离方法源并创建一个空的 shell 作为 javadoc 源。
    【解决方案2】:

    JAR 的用户可以在使用 JAR 的 Java 项目的 Java 构建路径属性中将 Javadoc 位置(存档中的 URL、文件或路径)关联到它。
    我不确定这在与二进制文件相同的 JAR 中使用 Javadoc 的效果如何(以前从未见过),但理论上它应该可以工作。

    【讨论】:

      【解决方案3】:

      Apache Ant javadoc 任务将生成 API html。 通常,您会将其作为 zip 文件与您的 jar 一起分发。

      【讨论】:

        【解决方案4】:

        您的构建过程是什么? Maven 发布过程实际上生成了 3 个 jar,一个包含已编译的类,一个包含源代码,一个包含 javadocs。您应该能够自定义 POM 以防止分发源 jar,并且任何使用 Maven 管理依赖项的人如果声明对您的 jar 的依赖项(并在 eclipse maven 插件中打开 javadoc 下载),将自动获取 javadoc。

        【讨论】:

        • 唉,我们使用的是 ant 而不是 maven :o(
        • 您可以使用 maven 构建任务来生成 javadoc 和/或源 jar,甚至来自 Ant。由于您使用 ant 进行构建和可能的依赖管理,因此您只需要一个最小的 pom 即可让 maven 工作,指定从中生成 javadoc 的源目录
        • 这就是我最后所做的,好吧,我是通过 ant 而不是 maven 构建 src 和 doc jars。
        【解决方案5】:

        JIDE have a tool(成本 25 美元)将运行您的源代码并删除所有方法主体,留下 javadoc,并生成一个 zip 文件。然后,您可以将此 zip 作为源 zip 分发,并且您的 IDE 将能够读取 javadocs,但当然您的所有逻辑都已被删除,因此您可以保留您的封闭源代码。 zip 文件中不包含任何私有成员和方法。

        它还有一个额外的好处是为智能感知保留方法参数名称,所以下面的方法

        public void foo( String text, Integer index ) {
        }
        

        会在自动完成时显示 foo( String text, Integer index ),而不是 foo( String arg1, Integer arg2 ) 以便您可以提示参数是什么应该是。

        【讨论】:

          猜你喜欢
          • 2023-02-04
          • 1970-01-01
          • 2012-08-04
          • 1970-01-01
          • 2014-08-21
          • 1970-01-01
          • 2015-06-12
          • 2010-12-04
          • 2014-08-22
          相关资源
          最近更新 更多