我试了很多次搜索这个问题,但是找不到确切问题的答案。我也读过这个问题:Does the javadoc tool recognize comments inside methods?
所以我的问题是对这件事的跟进。我知道默认的JavaDoc工具会简单地忽略方法中的任何javadoc注释,但是我们可以让它也读取这些注释并尝试在我们的客户文档/标签上处理它们吗?我也尝试过编写自己的doclet和taglet,但是由于JavaDoc会完全忽略方法中的注释,所以我无法成功。
例如,假设我有以下代码:
public void methodX() {
/**
* @MyTag This is a sample javadoc comment with custom tag
*/
}有没有办法让JavaDoc不忽视methodX内部的评论?如果javadoc能够解析并提供注释文本,我可以在自定义doclet中处理响应。
为什么要尝试这个:我想知道为什么我要寻找这样一个需求是有帮助的。基本上,我们有很多配置驱动的编码,其中这些配置存储在DB中(这样我们就可以在运行时简单地更改配置,而不必再经历BRD进程)。因此,我们计划在一个中心位置记录这些配置。与其将代码和文档分开,我们还认为保持文档更接近代码本身是明智的,这样任何代码更新都可能更新文档。发布到中心位置可以通过doclet/taglet来处理,但前提是JavaDoc可以在方法中读取这些注释。
那么,是否也有可能让JavaDoc工具读取方法内部的注释呢?否则,我们将不得不尝试编写类似于JavaDoc的注释解析器。
发布于 2017-11-15 04:20:31
所以我做了一些调查,发现没有人回答这个问题,似乎人们(也许)不确定这个可能性。
根据我的发现,让JavaDoc工具解析方法中的注释似乎不可行。原因是,JavaDoc甚至没有得到那些评论文本来解析。现在,我的意思是,JavaDoc依赖于JDK编译器(当然是API )将Java代码转换为令牌和树,然后从其中获取所有注释。因此,除非可以修改JDK编译器本身的,使其“不忽略”方法中的注释,否则不能让JavaDoc在方法中读取注释。
噢!为了解决我们的问题,目前我们限制使用自定义标记( JavaDocs )来定义我们使用的常量,并通过自定义Taglet处理注释来处理新的标记。
https://stackoverflow.com/questions/46680643
复制相似问题