我正在努力改进lein-javadoc
Leiningen 构建工具的插件。它在 JVM 进程中运行,并且可以使用项目的类路径。生成 javadocs 的最跨平台方式是什么?
- 在插件的类路径中找到
$JAVA_HOME/../lib/tools.jar
并包含它,然后调用com.sun.tools.javadoc.Main
. (旧方法。) - 查找
$JAVA_HOME/../lib/tools.jar
并构造对 的调用java -cp path/to/tools.jar:rest:of:project:classpath com.sun.tools.javadoc.Main -javadoc -options -here
。(新的方法。) - 调用
javadoc
并传递选项。
回想起来,选择 3 听起来是对的,我是在意识到 OpenJDK 没有 tools.jar 之后才发现它的。【其实是这样!我只为那个版本安装了 JRE 包——JDK 包确实有 tools.jar。]
但是,在我重新编写代码以使用它之前,有什么我应该知道的权衡吗?例子:
- 在 Windows 上调用 javadoc 会使事情变得更难吗?(我必须嗅出它是 Windows 并调用 javadoc.exe 吗?)
- 我是否可能会遇到使用一个版本的 java(shell PATH 上的任何内容)和使用不同版本的 tools.jar(当前 JVM 的版本)的问题?