【问题标题】:Java 8 - Custom JavaDoc check using DocletJava 8 - 使用 Doclet 的自定义 JavaDoc 检查
【发布时间】:2019-03-16 03:40:56
【问题描述】:

我对验证 JavaDoc 很感兴趣,我发现了这个 answer 的自定义检查:

import com.sun.javadoc.*;

public class CheckingDoclet extends Doclet {

问题com.sun.javadoc已被删除,将仅在java 9中替换(这意味着至少使用java 10

此包中的声明已被包 jdk.javadoc.doclet 中的声明所取代。有关详细信息,请参阅该软件包文档中的迁移指南。

有没有使用 Java 8 的替代品?

编辑

我需要一个新的检查来阻止块标记后的描述,

在checkstyle中没有这样的规则,需要create a new check

在 PMD 中没有这样的规则,可能需要create a new check

【问题讨论】:

  • @PowerStat 这是我唯一的选择吗?你能详细说明一下答案吗?
  • 我不知道其他方法或工具 - 除了要求 CheckStyle/PMD 社区寻找可以对您的要求进行检查的人。也许那里有我不知道的插件。

标签: java java-8 javadoc doclet


【解决方案1】:

我建议使用您的 ide(我的是 eclipse)以及 CheckStylePMD 的 JavaDoc 检查。

对于这三个,您应该进行自己的配置!

在 Eclipse 中,您可以在 Windows/Preferences/Java/Compiler/Javadoc 找到 JavaDocs 的配置

如果您有这些工具无法满足的特殊要求 - 那就忘掉eclipse吧。 您唯一的机会是为 CheckStyle 或 PMD 编写自己的扩展。 例如参见Writing CheckStyle checks

顺便说一句。也不建议使用 java 内部 api - 请参阅Stackoverflow About Java 8 Doclets。据我所知,这些 api 将在 Java 9/10/11+ 中消失。所以不建议使用。

【讨论】:

  • 我需要一个新的检查来阻止块标记后的描述,在checkstyle中需要创建一个新的检查,见groups.google.com/forum/#!topic/checkstyle/gsVk6qHeG-k
  • 扩展了我的答案。
  • 我不知道你为什么在“这些 api's will vanish with Java 9/10/11+”中使用将来时。 Java 11 已经发布,这些包仍然存在。此外,com.sun.javadoc 从来都不是内部包。它是官方的documented javadoc APIstill is part of it,即使我们正处于向设计更好的 API 过渡的阶段。它不会在接下来的几天内被移除。
  • JavaDoc 不仅需要设计更好的 api,还需要符合 w3c 标准的输出。顺便提一句。已经删除了我关于“内部 api”的评论部分。
猜你喜欢
  • 2017-01-28
  • 2016-08-15
  • 1970-01-01
  • 2019-09-01
  • 2019-02-25
  • 2018-06-20
  • 2018-06-24
  • 2022-07-14
  • 2016-08-29
相关资源
最近更新 更多