仅使用 JRE 生成 javadoc

2022-09-01 16:08:18

我希望能够为我的 maven 项目生成 javadoc,即使在 JRE 而不是 JDK 下运行时,也可以找到 maven 调用的 javadoc 命令。换句话说,不依赖于任何东西,而是依赖于JRE中的内容以及Maven可以下载并用作工件的内容。

有没有简单的方法可以使用Maven生成javadocs,而无需使用仅在JDK中找到的代码?


编辑:显然,理解我为什么要这样做很重要。我们是一个较大组织中的小团队,每年发布我们的产品套件,然后我们的客户在方便的时候升级(由于部署的规模庞大,这既昂贵又耗时,因此通常跳过一个或多个版本),我们以能够在短时间内为现有部署提供错误修复和新功能为生。有问题的客户正在运行。举个例子,我最近为我五年前写的一个组件做了一个错误修复,从那以后基本上没有受到影响。

因此,我们的构建过程的长期稳定性对我们来说非常重要,并且能够在新版本的Java可用时使用它们。我们已经将完整的构建环境迁移到了Maven - 它为我们购买了Maven Central的永久冻结的工件 - 现在已经开始考虑我们还需要做些什么。

随着最近宣布Javac的未来版本将不支持旧目标(http://openjdk.java.net/jeps/182),我们已经得出结论,我们的长期目标是最大限度地减少对底层Java环境的依赖,最好只是普通的JRE。我们正在用Maven Central提供的Eclipse编译器完全取代JDK中的javac,现在我们来看看javadoc的生成。


答案 1

从 OpenJDK 获取 JavaDoc 的源代码,并使用所有相关的 JavaDoc 类从中构建自己的 JAR。编写一个依赖于您的JAR的插件,并从中调用。mavencom.sun.tools.javadoc.Main.main

使用OpenJDK的类时,看起来不需要打开源代码,您应该可以在没有严格限制的情况下分发生成的插件。

即使这些术语没有涵盖这些工具,您也可以为 编写一个开源 GPL-2 插件,并使其成为您在 GPL-2 下分发的单独产品。然后,您的产品将使用 下载并安装插件,从而将您的 JavaDoc 插件与代码的其余部分分开。mavenmaven plugin:download

当然,在遵循此建议之前,您应该由您的法律部门执行此建议。


答案 2
  1. 顺便说一句(不直接回答你的问题):

    Eclipse 开发指南建议同时使用 Eclipse 编译器和 JDK 工具(对于 javadoc 菜单选项)。

    http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2Freference%2Fref-export-javadoc.htm

    Eclipse Generate Javadoc Wizard:什么是“Javadoc Command”?

    从您的评论中可以看出,您显然不想走这条路,这是您的正确:)

  2. 回答您的问题。有一些开源/免费的javadoc工具,您可以从构建工具中调用:

    优点:在JDK之外工作。有些有比javadoc更丰富的文档。
    缺点:与javadoc相比,可能有一些非标准的行为(对你来说可能不是问题)。


推荐