如何解决为什么我不能导入 jdk.javadoc.doclet 包?
我想为 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.doclet
API 来创建 doclet。我使用上面的类创建了一个基本的 doclet,它实际上什么都不做,只是实现了所有方法并尝试编译,但是编译器给了我一个错误,说 package jdk.javadoc.doclet does not exist
。
我使用 IntelliJ 作为我的 IDE,但它没有通过它的 IntelliSense 显示任何错误。 IntelliJ 认为该包存在,甚至为我提供了该包类中方法的代码突出显示。
解决方法
请确保您的开发 IDE 中的 JDK,即 Eclipse、Intellij,使用与您的 PATH 变量相同的 JDK。您可以通过检查 IDE 的相应设置的属性来验证这一点。您的 PC 上可能安装了多个版本的 JDK,并且您的开发 ide 使用的版本与系统版本中的版本不同。在编译源代码时,遇到这样的问题会在 IDE 内部产生问题。
,解决方案非常简单。我只需要使代码模块化(即,我需要在我的项目中添加一个 module-info.java
文件)并在其中添加 requires jdk.javadoc
行以使代码运行而不会出现任何错误。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。