我知道如何为类/接口(interface)/包的子集生成 Javadoc。但是有没有办法只为公共(public)方法的一个子集生成 Javadoc?
我更喜欢能够将方法(Javadoc 标记或注释)标记为属于某个 API 或不属于它的一部分。然后有一个工具只为指定的一组方法生成 Javadoc - 那些构成 API 的方法。
在对方法的公共(public)/私有(private)/包访问之间进行选择对于我的项目来说是不够的。公共(public)方法可能属于或不属于公共(public) API,或者它可能属于 API 1,但不属于 API 2。本质上,我希望能够从我的公共(public)方法的任意子集中选择 API。
最佳答案
如果您使用的是 javadoc
命令行工具,您可以通过将它们标记为 Deprecated
并使用 -nodeprecated
来排除公共(public)方法选项。但是,如果您想要更复杂的东西,则必须自己实现。
关于如何做的粗略想法:
- 创建自定义注释@API1、@API2 等。
- 使用这些注释对您的方法进行分类(即标记它们)
- 编写一个自定义 Ant 任务,该任务读取一个配置参数(例如,从一个文件中),该参数告诉您要为哪个 API 生成 Javadoc。
- 仍在 Ant 任务中,循环遍历带注释的方法,并将所有不是所选 API 的 API 注释替换为 Deprecated 注释。这将从 Javadoc 中排除它们。
恕我直言,这很麻烦。正如他们在评论中所说,如果您有一个具有多个接口(interface)的类(我猜是针对不同的用户配置文件?),请考虑编写单独的接口(interface)。
关于java - 有没有办法为公共(public)方法的子集生成 Javadoc?例如通过将公共(public)方法注释为 "not part of the public API",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15812349/