java - 我们可以制作JavaDoc工具来解析方法内的注释吗?

标签 java javadoc

我多次尝试用谷歌搜索这个问题,但找不到确切问题的答案。我还读过这个问题:Does the javadoc tool recognize comments inside methods?

所以我的问题是这个问题的后续问题。我知道默认的 JavaDoc 工具会简单地忽略方法内的任何 javadoc 注释,但是我们是否可以以某种方式让它也读取这些注释,并且可以尝试在我们的客户 doclet/taglet 上处理它们?我也尝试编写自己的 doclet 和 taglet,但由于 JavaDoc 会完全忽略方法内的注释,所以我无法成功。

例如,假设我有以下代码:

public void methodX() {
        /**
         * @MyTag This is a sample javadoc comment with custom tag
         */
    }

有没有办法让JavaDoc不忽略methodX内的注释?如果 javadoc 可以解析并提供注释文本,我可以在自定义 doclet 中处理响应。

尝试此操作的原因: 我想知道我为什么要寻找这样的要求会很有帮助。基本上我们有很多配置驱动的编码,这些配置存储在数据库中(这样我们就可以在运行时简单地更改配置,而不必再次经历 BRD 过程)。因此,我们计划在一个中心位置记录这些配置。我们还认为,不要将代码和文档分开,而是让文档更接近代码本身,这样任何代码更新也可能会更新文档。发布到中心位置可以通过 doclet/taglet 来处理,但前提是 JavaDoc 可以读取方法内的这些注释。

那么是否有可能让 JavaDoc 工具也读取方法内的注释?否则我们将不得不尝试编写我们自己的类似于 JavaDoc 的注释解析器。

最佳答案

所以我做了一些挖掘,发现没有人回答这个问题,似乎人们(也许)不确定这种可能性。

根据我的发现,让 JavaDoc 工具解析方法内的注释似乎不太可行。原因是,JavaDoc 甚至无法解析这些注释文本。现在,我的意思是,JavaDoc 依赖 JDK 编译器(当然是 API)将 Java 代码转换为标记和树,然后从那里获取所有注释。因此,除非您可以修改 JDK 编译器本身以使其“不忽略”方法内的注释,否则您无法使 JavaDoc 读取方法内的注释。

哦!为了解决我们的问题,我们现在限制为我们使用的常量定义带有自定义标签的JavaDocs,并通过自定义 Taglet 处理注释> 处理新标签。

关于java - 我们可以制作JavaDoc工具来解析方法内的注释吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46680643/

相关文章:

java - 该字符串是否包含 ASCII zenkaku?

java - 对字符串中的一些单词进行排序

java - 使用@see 编写正确的javadoc?

maven - 当作为 Maven 依赖项导入时,将 Javadoc/source 添加到 Joda-Time

java - 如何使用 Jackson 序列化声明性链接( Jersey )

java - 名称中带有空格的 SQLite 列

java - 如何扩展JavaDoc 5.0 标准doclet?

java - Eclipse 中缺少基本的 JavaDoc

java - BlockingQueue 阻止并返回对象,直到具有指定 id 的对象在队列中可用

javadoc - 如何告诉javadoc我的句号没有结束