-1

我想为 JavaDoc 制作一个自定义 doclet,我最初尝试使用com.sun.javadoc这个应用程序的包。我成功地创建了一个 doclet 并将其与 JDK8 一起使用,但是使用 JDK12 执行此操作会警告我该类已被弃用,并且很快就会失去支持。

我在另一台使用 OpenJDK15 的计算机上尝试了与 JavaDoc 相同的 doclet(运行java --version给了我以下输出:)

openjdk 15.0.1 2020-10-20
OpenJDK Runtime Environment (build 15.0.1+9-18)
OpenJDK 64-Bit Server VM (build 15.0.1+9-18, mixed mode, sharing)

它真的不支持:(我无法使用它,它给了我一条消息,说这个 doclet 不受支持。

经过一番研究,我发现新的 jdk 使用jdk.javadoc.docletAPI 来创建 doclet。我使用上面的类创建了一个基本的 doclet,它实际上什么都不做,只是实现了所有方法并尝试编译,但是编译器给了我一个错误说package jdk.javadoc.doclet does not exist

我使用 IntelliJ 作为我的 IDE,但它没有通过 IntelliSense 显示任何错误。IntelliJ 认为该包存在,甚至为该包的类中的方法提供代码突出显示。

4

2 回答 2

0

请确保您的开发 IDE 中的 JDK,即 Eclipse、Intellij,使用与您的 PATH 变量相同的一个。您可以通过检查 IDE 相应设置的属性来验证这一点。可能会发生这样的情况:您的 PC 上安装了多个版本的 JDK,而您的开发 ide 使用的版本与系统版本不同。在编译源代码时,遇到这样的问题会在 IDE 内部产生问题。

于 2021-01-12T12:25:06.967 回答
-1

解决方案非常简单。我只需要使代码模块化(即,我需要module-info.java在我的项目中添加一个文件)并在其中添加requires jdk.javadoc行以使代码运行而不会出现任何错误。

于 2021-01-13T04:54:25.697 回答