javadoc 不是用 jdk 1.9 生成的,而是用 jdk 1.8 生成的

javadoc not generated with jdk 1.9 but getting generated with jdk 1.8

我使用相同的命令在 jdk 1.8 和 1.9 中生成 javadoc,而在 jdk 1.8 中生成的文档有错误和警告,但在 1.9 中没有生成。

下面是我使用的命令:-

C:\Program Files\Java\jdk1.8.0_05\bin>javadoc -d D:\APIdoc -sourcepath D:\MyFile\src\main\java -subpackages com.abc.dap.pqr
Output:
100 errors 
100 warnings
Doc generated successfully

C:\Program Files\Java\jdk-9\bin>javadoc -d D:\APIdoc1 -sourcepath D:\MyFile\src\main\java -subpackages com.abc.dap.pqr
Output:
100 errors
Doc not generated

Below are the errors:-
error: package [package_name] does not exist
error: cannot find symbol

在jdk1.8 和 1.9 中观察到相同的错误,但我无法理解为什么没有使用 1.9 生成文档。 请建议使用 jdk1.9

生成 javadoc 的解决方法

JDK9 中的一个有意更改,将错误视为不可恢复并在不生成 javadoc 的情况下退出。这记录在 JDK 9 发行说明 (http://jdk.java.net/9/release-notes#JDK-8175219) 中。

如评论中所述,使用旧的 doclet(带有 -Xold)可能适用于这种情况,但它不支持模块信息。旧的 doclet 也将在下一个版本中删除。

使用 -Xdoclint:-<group> 关闭一些检查可能会好运,特别是 -Xdoclint:-reference 这将导致它忽略与引用 Java [=21] 相关的问题=] 来自 Javadoc 标签的元素,甚至 -Xdoclint:none 关闭所有检查。如果这没有帮助,您可以使用 -Xold.

调用旧版 javadoc 工具

有关详细信息,请参阅 javadoc -Xjavadoc documentation