【发布时间】:2013-06-07 12:48:04
【问题描述】:
我希望能够为我的 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,很好的问题!
-
我相信 javadocs 只附带 jdk,因为它是 java 编译器命令选项的一部分,但我不是 100% 确定。
-
出于好奇,为什么?这听起来更像是您想创建一个发行版,而不是“运行一个 Maven 项目”,这是一项开发任务。
-
所以?使用JDK有什么问题?你将如何运行 JAR 命令?罐头人? rmic? idlj? ...?您可以随心所欲地与标准的 JDK/JRE 打包作斗争,也许可以得到一些工作,但有什么意义呢?你只是在这里为自己做一根棍子。
-
@ThorbjørnRavnAndersen 我认为奇怪的是您的 Java 开发团队没有可用的 JDK,即使它只是为了测试 Eclipse 编译器的输出以捕捉边缘情况编译问题——听起来很冒险我。