有没有办法为公共方法的子集生成Javadoc?例如,通过将公共方法注释为"不是公共API的一部分"

Fra*_*erg 7 java api javadoc doclet

我知道如何为类/接口/包的子集生成Javadoc.但有没有办法只为一部分公共方法生成Javadoc?

我更喜欢的是能够将方法(Javadoc标记或注释)标记为属于某个API或不属于它.然后有一个工具只为指定的方法集生成Javadoc - 形成API的方法.

公共/私有/包访问方法之间的选择对我的项目来说是不够的.公共方法可能属于公共API,也可能属于API 1,但不属于API 2.本质上,我希望能够从公共方法的任意子集中选择API.

dar*_*mos 2

如果您使用javadoc命令行工具,则可以通过将公共方法标记为Deprecated并使用-nodeprecated选项来排除它们。但如果你想要更复杂的东西,你就必须自己实现。

关于如何做到这一点的粗略想法:

  1. 创建自定义注释@API1、@API2等。
  2. 使用这些注释对您的方法进行分类(即标记它们)
  3. 编写一个自定义 Ant 任务,该任务读取一个配置参数(例如,从文件中),该参数告诉您要为其生成 Javadoc 的 API。
  4. 仍然在 Ant 任务中,循环遍历带注释的方法,并将所有不是所选 API 的 API 注释替换为 Deprecated 注释。这会将它们从 Javadoc 中排除。

恕我直言,这很麻烦。就像他们在评论中所说的那样,如果您有一个具有多个接口的类(我猜是针对不同的用户配置文件?),请考虑编写单独的接口。